繁体   English   中英

当我们不知道数据的嵌套级别时,如何在react / redux中的reducer state属性中更新数据?

[英]How to update a data in a reducer state property in react/redux, when we don't know the level of nesting for the data?

我有一个名为“属性”的数组或对象

此属性数组具有以下格式的对象:

 { "some-unique-key-A": { name:"someName1", value: { "some-unique-key-B": { name:"someName11", value : "someValue2" } } } } 

在这里,我们不知道该键值对的嵌套级别是多少。 我们只知道一件事,密钥的数据将被更新:“ some-unique-key-X”

在这种情况下,我们如何不变地更新x级嵌套数据?

使用单一状态的道具! 不可变不容易递归,只需一个级别即可规范您的状态,易于连接;)

这就是我解决此问题的方法,我创建了一个递归函数,该函数将接受某些对象的“深层复制”(不是浅层复制)和需要更新值的唯一键。 对于给定的键,更新已完成,它将返回更新的对象,作为等待结果的先前递归对象的值存储。 最后,它只是用新对象替换了原始状态的对象。 我不知道它是否会改变状态(也许确实会改变),但它能工作。

暂无
暂无

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

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