Я пытаюсь удалить элемент из массива состояний при нажатии. На данный момент у меня есть слушатель onclick, который вызывает функцию, переданную в реквизиты. Однако я получаю предупреждение: bind(): методы React-компонентов могут привязываться только к экземпляру компонента. См. Приложение... и он не удаляет элемент.
Спасибо за помощь в решении этой проблемы! Это в значительной степени остановило мой прогресс на остановке.
(function (React) {
var data = [
'Go to work',
'Play Albion Online',
'Keep learning React'
]
var App = React.createClass({
getInitialState: function () {
return {data: []}
},
componentWillMount: function () {
this.state.data = data;
},
removeItem: function (i) {
console.log(i);
},
render: function () {
return (
<ToDoList onRemoveItem={this.removeItem} tasks={this.state.data} />
)
}
});
var ToDoList = React.createClass({
render: function () {
var scope = this;
var tasks = this.props.tasks.map(function (task, i) {
return <ToDo onClick={scope.props.onRemoveItem.bind(this, i)} key={task} task={task} />
});
return (
<ul>
{tasks}
</ul>
)
}
});
var ToDo = React.createClass({
render: function () {
return (
<li>{this.props.task}</li>
)
}
});
React.render(<App />, document.getElementById('example'));
})(React);