**已关闭。**此问题为not reproducible or was caused by typos。当前不接受答案。
这个问题是由一个错字或一个无法再复制的问题引起的。虽然类似的问题可能是on-topic在这里,但这个问题的解决方式不太可能帮助未来的读者。
5天前关闭。
Improve this question
我有:
[state, setState] = useState([
{
item: apple,
color: red,
},{
item: banana,
color:yellow,
}])
我想在数组中添加以下内容:
{
item: grape,
color: purple
}
我试过了
setState((prevState) => ({ ...prevState, newObj }))
和
setState({ state: state.concat(newObj) });
但数据未添加到状态
2条答案
按热度按时间fwzugrvs1#
你试过的两种方法几乎都是正确的,但不完全正确。
另一种方式也是类似的问题。
有关正确更新数组状态的更多信息,请参见https://react.dev/learn/updating-arrays-in-state。
fae0ux8s2#
你有一个元素数组作为你的初始状态,但是后来你要把一个对象设置为一个新的状态。为了添加新的数据,你必须使用数组(方括号):