在Redux中更新对象最方便的方法是什么

时间:2019-06-19 13:54:39

标签: reactjs redux

我具有以下redux状态结构:

initState = {
    section1: {
        field1: true,
        field2: "asdfg"
    },
    section2: {
      ....
    },
    ....  
};

该部分的每个字段都输入到UI。

什么是更新状态的更好方法:

[actions.setSection1]: (state, section1) => {
    return {...state, section1}
}

[actions.setField1]: (state, field1) => {
    return {...state, section1: {...state.section1, field1}}
}

我更喜欢第二个,但是更改输入后,我需要将部分发送到服务器。因此,无论如何我都需要在我的组件中实现{... section1,field1}之类的东西,以发送最新的对象。这就是为什么在component中形成对象并在redux中更新整个部分看起来更好的原因。

在这种情况下,没有找到最佳实践。 你觉得如何?

1 个答案:

答案 0 :(得分:0)

第一个选项将更新整个部分,并丢失之前保存的数据。第二个选项是对该部分的部分更新,仅更新必要的信息。

由于第二个选项的粒度更细,因此,如果调用函数在分派之前对节进行未知更改,则可能会发生意外数据丢失的风险较小。