React中如何将所有对象状态存储到数组状态中?
问题解决:保存所有addedId对象到idHolder数组
你当前的问题是用setIdHolder(addedId)直接将数组替换成了单个addedId对象,所以每次更新都会覆盖之前的内容,自然只能保留当前对象。
要实现保存所有创建的对象,需要追加新对象到数组末尾,而不是替换整个数组。可以用React的函数式状态更新,结合数组展开运算符来实现:
setIdHolder(prevIds => [...prevIds, addedId]);
说明:
prevIds是React传入的idHolder上一个状态值,确保我们基于最新的历史数据进行更新[...prevIds, addedId]会创建一个新数组,包含之前数组里的所有对象,再把最新的addedId追加到末尾- 这种方式遵循React状态不可变的原则,能正确保留所有历史对象
内容的提问来源于stack exchange,提问作者apotamkinn
相关产品推荐
相关产品推荐

