2016-06-10 47 views
0

我想知道演示組件是否只能用在頂層組件中?Redux演示組件僅適用於頂級組件?

例如:我有分量Layout包括更深層次的組件,如SidebarContent,前進Content組件包括組件HeaderConversation

每個組件(不包括佈局和內容)都應該連接到演示組件?

+----------------------+ 
|   LAYOUT  | 
|+---+-----------------+ 
|| S |  CONTENT  | 
|| I |+---------------+| 
|| D || HEADER  || 
|| E |+---------------+| 
|| B ||    || 
|| A || CONVERSATION || 
|| R ||    || 
|+---++---------------+| 
+----------------------+ 

回答

2

有什麼類型的組件需要呈現/容器沒有明確的定義,我更喜歡智能/愚蠢。

這一切都取決於你如何處理他們

數據綁定和行動handlings從Presentational and Container Components丹阿布拉莫夫

何時引入集裝箱?
我建議你先開始用簡單的組件構建你的應用程序。最終你會意識到你正在向中間組件傳遞太多的道具。當你注意到一些組件不使用他們收到的道具,而只是將它們轉發下來,並且每當兒童需要更多數據時,你必須重新連接所有這些中間組件,現在是引入一些容器組件的好時機。通過這種方式,您可以將數據和行爲道具獲取到葉子組件,而不會增加樹中間無關組件的負擔。

+0

好的,現在它對我來說很清楚。我只是認爲連接每個組件來存儲是錯誤的解決方案。 – siwymilek

+0

使用'connect()',無論它對您自己的應用程序有意義。請參閱http://redux.js.org/docs/FAQ.html#react-multiple-components – markerikson