繁体   English   中英

更新数组类型的状态 <Object> 在ReactJS中没有突变

[英]Updating State of type Array<Object> in ReactJS without mutation

我有一个带有元信息的对象数组。 这是对象的架构。

       this.state.slotData [{
        availability: boolean,
        id: number,
        car: {
            RegistrationNumber : string,
            Color: string
        }, {...}, {...}, ...]

现在,对于任何传入的汽车,我都会记录汽车详细信息,然后进一步检查是否有可用的插槽,如果有,则更新slotData状态。 filter() slotData查找所有可用的插槽,然后引用availableSlots [0]访问最近的空插槽的ID。 现在,我只需要更新this.state.slotData而不对其进行更改

如果要应用不可变的更新并将car作为单个对象添加到slotData数组中,则应首先散布整个slotData数组,然后再添加car对象,如下所示:

const updatedSlotData = [...slotData, carObj];
this.setState({ slotData: updatedSlotData });

只要先制作副本,就可以安全地对副本进行突变。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM