如何解决如何原子化复杂的结构
这是我拥有的复杂数据结构的简化版本:
const todos = [
{done: false,text: '...',tags: [{text: '...'},{text: '...'}]}
]
为了利用反冲的力量,我将结构分解为各种原子族,并通过唯一 ID 将它们链接起来:
const tag = atomFamily({...});
const todo = atomFamily({...});
const todos = atom({...});
// The state looks something like this:
// todos = ['id1','id2'];
// todo('id1') = {done: false,tags: ['id1','id2']}
// tag('id1') = {text: '...'}
但是像这样破坏结构会增加代码的复杂性。例如,当我向列表中添加一个新的 todo
时,我必须遍历 tags
的列表并创建标记原子。
同样,当我删除 todo
时,我必须遍历所有内部 tag
原子并将它们也删除。
嵌套越深,这会变得越复杂。
是否有将这样的深度嵌套结构原子化的最佳实践?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。