繁体   English   中英

Redux数据结构

[英]Redux data structuring

我正在尝试使用Redux构建一个复杂的全动态应用程序。 我的意思是我的应用程序有很多动态生成的表单,其中包含生成的字段 - 即时组件。 我想在我的Redux商店中存储有关我的组件的可视数据。 但是,如果不将实际数据与可视化组件数据混合,我该怎么办呢?

例如,如果我有这样的结构

Store { 
  visual: {...deeply nested visual-data-tree...}, 
  data: {...deeply-nested real-data-tree...} 
}

渲染组件很困难,因为我需要先搜索可视化数据,然后在两棵树中对组件“值”进行反应。

但如果有一个类似于此的结构:

Store {
  form {
    visual: {...form visual data...},
    data: {
      //Ok here the form "data" - widgets. Or it must to be visual? :)
      widget1 {
        visual: {type:"ComboBox", opened: true},
        data: 1
      }
    }
  }
}

你看到了问题,现在我在Form小部件的真实数据中有可视数据。

(表格 - 数据 - widget1 - 视觉

真实数据中的可视数据超出了概念。

你们如何解决混合数据的相同问题?

对我可怜的英语真的很抱歉。 我希望我清楚地解释了这个问题。

是不是肤浅的区别? 我认为一个更重要的规则是该州的数据应该规范化。 例如,如果您使用Combobox小部件让您选择用户,那么您的数据形状会更好

{
  chosenUserId: 10, // Good!
  users: {
    10: { name: 'Alice' }
}

而不是

{
  chosenUser: { name: 'Alice' }, // Bad!
  users: {
    10: { name: 'Alice' }
}

如果数据在状态树中重复,则很难正确更新它并避免不一致。

只要您保持数据标准化,我认为没有必要划分visualdata 您可能希望拥有看起来像数据库的顶级实体缓存(例如,包含usersposts或应用程序使用的任何数据对象的entities ),但除此之外,请在检索相关内容时感觉最舒适的状态。州。

暂无
暂无

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

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