2016-06-20 100 views
0

我讀articles批評React setState很怪異,反而批評它的人不理解它。 我真的很喜歡React模塊化,我越學越多,我覺得它更直觀。React交叉組件狀態

儘管如此,我遇到了多種情況,我希望這些狀態是交叉組件。我的意思是,更改組件中的狀態可能會影響另一個組件。我的理解是,在解決這個問題時沒有React。當然有辦法解決它,但沒有固定的協議。

我的問題是,爲什麼?沒有提供簡單的方法來處理這種常見的情況有什麼優勢?或者如果有,我不知道,請賜教!

+0

您是否嘗試過回調並在層次結構中維持狀態較高的狀態? –

+0

我的意思是,我可以通過回調傳遞回來,但它似乎很難。此外,如果組件未嵌套,則可能會出現問題。在工作中,我們創建了一個State類來處理這個問題,在很多情況下它似乎非常有用,這就是爲什麼我想知道如何執行此操作的默認方法 –

+0

除了引入狀態管理系統它自己的API?這是他們設計要解決的問題。 –

回答

0

至少有4種開箱即用的方式可以在緊密相關的(和不相關的)組件之間共享狀態:道具,回調,參考,ctx變量。

我只是認爲它的構建儘可能小,完全意圖是如果你需要一個複雜項目的應用程序狀態管理器(其中不相關的組件需要通信),你將包括一個,他們不會強制你進入任何一種方法。

如果你確實想要更多的腳手架來開始一個項目,很多人都可以參與,你可以參考react-boilerplate或類似的文章。

但是,將React本身限制在最小限度內,我可以自由選擇(或不選擇)每個項目的最佳工具,而無需重寫一刀切的默認設置。