Имена на класове за динамични деца React

Имам набор от бутони, създадени от масив, но не съм сигурен как да задам отделни имена на класове за тях. Има ли лесен начин за това?

var ButtonContainer = React.createClass({

  render: function(){
    var answerList = this.props.answerList.map(function(input, i){
      return <SingleButton key={'button'+i} singleAnswer={input}/>
    }.bind(this));
    return <div> {answerList} </div>
  }

})

var SingleButton = React.createClass({

  render: function(){
    return (
      <div>
        <button className='quiz-button'>{this.props.singleAnswer}</button>     
      </div>
    )
  }

});

Опитах className={this.props.key}, но изглежда не работи. Благодаря за всяка помощ!


person Boyswan    schedule 30.01.2015    source източник


Отговори (1)


От React v0.12 key и ref са премахнати от props:

Вече нямате достъп до this.props.ref и this.props.key от самия екземпляр на компонента. Така че трябва да използвате различно име за тези подпори.

Ето защо настройката className={this.props.key} няма да работи. Но можете да опитате това:

return <SingleButton key={'button'+i} className={'button'+i} singleAnswer={input}/>

и тогава

<button className={this.props.className}>{this.props.singleAnswer}</button>

Свързан въпрос: This.key в React.js 0.12

person nilgun    schedule 31.01.2015