Luc*_*ile 2 javascript arrays json ecmascript-6 reactjs
我只是想将json动态创建的内容附加到array驻留在中的state。到目前为止,我发现的唯一方法是使用concat,因为push不起作用。
constructor() {
super()
this.state = {
list: []
}
this.add = this.add.bind(this)
}
add(e) {
e.preventDefault()
var task = document.getElementById('task').value
var json = JSON.parse(JSON.stringify({key: task, item: task}))
this.setState({list: this.state.list.concat(json)}) // WORKS
// this.setState({list: this.state.list.push(json)}) // DOESN'T WORK
console.log(this.state.list)
document.getElementById('task').value = ''
}
Run Code Online (Sandbox Code Playgroud)
那行得通,但是我不明白为什么在创建第一个项目之后控制台中会有一个空数组。我已经阅读了concat的工作原理,但是显然我错过了一些东西。为什么我不能在我的this.list数组中推送对象?
| 归档时间: |
|
| 查看次数: |
7144 次 |
| 最近记录: |