我具有以下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中更新整个部分看起来更好的原因。
在这种情况下,没有找到最佳实践。 你觉得如何?
答案 0 :(得分:0)
第一个选项将更新整个部分,并丢失之前保存的数据。第二个选项是对该部分的部分更新,仅更新必要的信息。
由于第二个选项的粒度更细,因此,如果调用函数在分派之前对节进行未知更改,则可能会发生意外数据丢失的风险较小。