2016-01-23 4 views
0

Я пытаюсь протестировать для себя. Я получил сообщение «Hello World», которое было успешно отправлено, поэтому я попытался сделать этот шаг дальше и перебрать данные.Реакция - Проблема с синтаксисом

Я получаю «ожидание загрузки корней ... для перезагрузки инспектора», которая после того, как Гуглинг говорит мне, что у меня проблема с моим синтаксисом. Я просто не могу ее найти ... так что ваша помощь высоко ценится!

var data = [ 
    {perc:"2.2%", year:"5"}, 
    {perc:"3.2%", year: "7"} 
] 

var Rates = React.createClass({ 
    render: function(){ 
     return (
      <div> 
       <RateList data={this.props.rates} /> 
      </div> 
     ) 
    } 
}); 

var Rate = React.createClass({ 
    render: function(){ 
     return (
      <div> 
       <ul> 
        <li>{this.props.percent}</li> 
       </ul> 
      </div> 
     ) 
    } 
}); 

var RateList = React.createClass({ 
    render: function(){ 
     return (
      <div> 
       <ul> 
        { this.props.data.map(function(rate){ 
         return <Rate percent={rate.perc} /> 
        }) } 
       </ul> 
      </div> 
     ) 
    } 
}); 

ReactDOM.render(<Rates rates={data} />, document.getElementById("wow")); 
+1

Вероятно, не ваша проблема, но делает не 'map' callba ck нужно 'return'? –

+0

@torazaburo. На самом деле это то, чему я пользовался, но я попытался упростить пример, чтобы выяснить проблему. Думаю, мне, возможно, придется добавить обратно обратно, если это необходимо? – steeped

+1

«return» необходим, если вы не используете функцию со стрелками из одной инструкции, например 'this.props.data.map (rate =>

  • {rate.perc}
  • )' (тогда это неявно) – Mikke

    ответ

    1

    Это кажется, что вы могли бы упростить немного.

    var data = [ 
     
        {perc:"2.2%", year:"5"}, 
     
        {perc:"3.2%", year: "7"} 
     
    ] 
     
    
     
    var RateList = React.createClass({ 
     
        render: function(){ 
     
         return (
     
          <div> 
     
           <ul> 
     
            { this.props.rates.map(function(rate){ 
     
             return <li>{rate.perc}</li> 
     
            }) } 
     
           </ul> 
     
          </div> 
     
         ) 
     
        } 
     
    }); 
     
    
     
    ReactDOM.render(<RateList rates={data} />, document.getElementById("wow"));

    +0

    это должен быть процент реквизита вместо данных в вашем случае) –

    +0

    Спасибо. исправленный. –

    Смежные вопросы