簡體   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