我正在尝试通过将事件添加到我设置为状态的事件数组中来向列表添加新的输入值。但是在我通过将新值推入内部来更新数组之后,列出它们的.map
方法似乎没有赶上新添加的数组。
constructor(props) {
super(props)
this.state = {
itemsReversed: ['Event 1', 'Event 2', 'Event 3', 'Event 4', 'Event 5'].reverse(),
}
}
ComponentDidMout() {
this.addEvent = () => {
let newEvent = document.getElementById('newEvent').value
this.state.itemsReversed.push(newEvent)
console.log(this.state.itemsReversed)
}
}
<input type='text' id='newEvent' name='newEvent' />
<button type='button' className='btnAdd' onClick={this.addEvent}>Add</button><br />
然后我尝试使用this.setState
更新旧状态数据,它显示了一个
“ TypeError:this.state.itemsReserved.map不是函数”
ComponentDidMout() {
this.addEvent = () => {
let newEvent = document.getElementById('newEvent').value
this.setState ({
itemsReversed: this.state.itemsReversed.push(newEvent)
})
}
}
任何人都知道问题出在哪里以及如何解决?