2016-10-05 2 views
0

У меня есть код ниже, и ничего не получается, интересно, где моя ошибка, я не вижу ошибок в консоли.реакция карта es6 стрелка функция не работает

var App = React.createClass({ 
    getInitialState(){ 
    return { 
    items:[1,2,3] 
    } 
    }, 
    renderItem(){ 
    this.state.items.map((item,i)=> <li key={i}>{item}</li>) 
    }, 
    render(){ 
     return(
     <ul> 
     {this.renderItem} 
     </ul> 
    ) 
    } 
}) 

React.render(<App />, document.getElementById('container')); 

http://jsfiddle.net/3Ley7uac/

нужны советую.

ответ

1

Прежде всего, вам нужно вызвать ваш метод с ():

<ul> 
    {this.renderItems()} 
    </ul> 

Во-вторых вам нужно возвратить внутри метода:

renderItems(){ 
    return this.state.items.map((item,i)=> <li key={i}>{item}</li>) 
}, 

Это просто ваниль методы класса Javascript. Здесь нет ничего особенного. Вам нужно вызывать методы и возвращать значения так же, как и с любым кодом Javascript.

+0

Когда вы используете возврат и снова назовите его? но это сработало, спасибо! есть ли какая-либо функция self для функции renderItem? –

+0

Если это правильный ответ, щелкните по пустой галочке рядом с левым ответом, чтобы отметить ее как правильную. –

+0

Я застрял снова Энди http://stackoverflow.com/questions/39865363/pass-index-from-function-to-function-in-react –

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