2017-06-15 112 views
2

我有一個關於React的問題,它更像是一種理論類型。傳遞道具到React組件樹

所以我有根狀態組件,它處理所有的狀態操作和用戶與回調的交互。狀態和回調作爲道具向下傳遞,其中包含無狀態的功能組件。

我發現自己已經通過多層次的樹木傳遞了相同的道具,現在它已經失控了。

那麼我有什麼選擇? 我真的不想添加Flux/Redux,它看起來太複雜了。還有React的上下文API,但其文檔充滿了可怕的警告。

+0

[請勿將標記置於問題標題中](https://stackoverflow.com/help/tagging) – Liam

+0

MobX是Flux/Redux的不錯選擇。這是你從中得出的結果,幾乎沒有任何樣板。我將整個項目從樹型架構遷移到MobX。這有點痛苦,但事後更有效地處理跨平行組件的事件。 – cbll

回答

1

傳遞道具是傳遞狀態屬性的基本模式。如果您在幾乎所有組件中都使用道具,您可以嘗試context

但是,通過傳遞道具和上下文來處理所有狀態變得複雜的點通常是您想要使用某種工具的標誌,它可以幫助您處理管理狀態,即Redux,MobX或其他工具在那裏。

+0

那麼基本上Flux是不可避免的?嘆息:( –

+0

@AntonMelnikov是的,我認爲深層嵌套/複雜的應用程序 – dork

+0

@AntonMelnikov我最近看到了Dan Abramov的列表,其中包含React社區的主要功能請求,並且React狀態系統適用於複雜無需Redux或類似的場景是最重要的願望之一..所以現在你應該試一試Flux實現.Redux被廣泛使用,但包含了很多樣板代碼,所以MobX對於開始..但你必須自己決定。 – Andru

相關問題