微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何原子化复杂的结构

如何解决如何原子化复杂的结构

这是我拥有的复杂数据结构的简化版本:

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 举报,一经查实,本站将立刻删除。