我是React的新手
当我伤心欲绝时,我的代码遇到了麻烦。 因为我无法设置addTodo函数的状态。 无法为任务增加新的价值。
我的代码在这里:
class App extends Component {
constructor(props) {
super(props)
const tasks = [
{ title: "First Proejct", id: 0 }
]
this.state = {
tasks,
uniqueId: 1
}
}
addTodo = (title) => {
const {
tasks,
uniqueId
} = this.state;
const task = {
title,
id: uniqueId,
}
const newTasks = [...tasks, task]
this.setState({
newTasks, <-- HERE. :(
uniqueId: uniqueId + 1
})
console.log(newTasks)
console.log(task)
}
render() {
return (
<div className="todoApp">
<h1>ToDO APP</h1>
<TodoInput addTodo={this.addTodo} />
<TodoList tasks={this.state.tasks} />
</div>
);
}
}
export default App;
所以..
我做错了什么吗?
答案 0 :(得分:4)
您应该调用:
this.setState({
tasks: newTasks,
uniqueId: uniqueId + 1
});