【发布时间】:2020-12-30 10:20:33
【问题描述】:
我是新来的反应和探索创建简单待办事项应用程序的不同方法的新手。我目前收到错误“警告:列表中的每个孩子都应该有一个唯一的“关键”道具。” 一切似乎都正常,但我一定做错了什么。
class App extends Component {
constructor(props) {
super(props)
this.state={
list: [],
item:{
body: '',
id: ''
}
}
}
handleInput(e) {
this.setState ({
item:{
body: e.target.value,
key: Date.now()
}
})
}
addItem(e) {
e.preventDefault();
const newItem = this.state.item
const list = [...this.state.list]
list.push(newItem)
console.log(list)
this.setState ({
list,
item:{
body: '',
id: ''
}
})
}
render() {
return (
<div className="App">
<h1>To Do List</h1>
<form>
<input
type='text'
placeholder='enter a new Todo'
value={this.state.item.body}
onChange={this.handleInput.bind(this)}
>
</input>
<button onClick={this.addItem.bind(this)}>
submit
</button>
</form>
<br/>
{this.state.list.map(item => {
return (
<li>{item.body}</li>
)
})}
</div>
);
}
}
export default App;
如果有人能提供帮助,那就太好了/解释为什么会发生这个错误,那就太好了。
【问题讨论】: