要使用不变性帮助程序更新嵌套数据,您通常会硬编码要更新的数据的路径,有时使用键变量。如果键/索引的数量(即嵌套的深度)也是可变的,你会怎么做?我正在寻找一种在给定任意长的键列表的情况下更新数据的方法。给定[0, 1, 1]
,我想更新data[0][1][1]
,或者给定[9]
,我想更新data[9]
。
上下文:我有一个深度嵌套的评论数组,其中嵌套的评论是对其父级的回复,我需要根据选择的评论添加/删除/编辑评论。
看起来 Immutable.js 的方法就像我描述的那样工作:
Immutable.JS 的 get() 或 getIn() 方法……通过字符串数组[访问] 属性,每个字符串代表一个属性键。
https://redux.js.org/recipes/using-immutablejs-with-redux#difficult-to-interoperate-with
有没有用不变性助手做到这一点的好方法?如果没有,我现在切换到 Immutable.js 还为时不晚。