gpt4 book ai didi

javascript - 添加到 React 中的数组

转载 作者:行者123 更新时间:2023-12-03 03:28:01 28 4
gpt4 key购买 nike

我对 React 还很陌生,我正在尝试构建经典的待办事项列表!但是,我正在努力跟踪数组项目。
我按如下方式创建项目:

     this.setState({item: {
text: event.target.value,
index: this.state.items.length++,
completed:false
}

我一直在添加这样的项目数组:

     this.setState({items:this.state.items.concat(this.state.item)});

但是这个方法每次都会创建一个新数组,所以我无法使用该项目的索引。但是,当我尝试使用推送添加到数组时,我似乎无法显示它!任何帮助将不胜感激!

最佳答案

我怀疑这里是当发出添加任务的事件时,您尝试为 item 设置状态,然后立即设置 items 状态也是如此。

React may batch multiple setState() calls into a single update for performance."

请引用docs 。因此,当您尝试 this.setState({items:this.state.items.concat(this.state.item)});< 时,您不应期望 item 拥有最新的项目

您可以尝试以下方法

const item = [{
text: event.target.value,
index: this.state.items.length + 1,
completed:false
}]

let items = {this.state}
items = items.push(item)
this.setState({items})

您还可以将函数传递给 setState 方法

this.setState(function(prevState, props) {
//Code goes here
});

关于javascript - 添加到 React 中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46227537/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com