我正在用全局狀態和redux中的可重用組件的概念掙扎。帶React Redux的通用組件
比方說,我有一個組件是一個文件選擇器,我想在我的應用程序狀態中的多個位置使用它。創建動作/縮減器會導致大量的膨脹,因爲我必須用動態後綴和其他奇怪的東西來處理狀態,這並不是真正意義上的智能方式。
這些事情的普遍共識是什麼?我只能看到兩種解決方案:
使文件選擇器組件具有本地狀態(
this.setState/this.getState
)使文件選擇器是全局狀態的一部分,但在它自己獨特的減速,我可以從組件的操作完成後讀取嗎?
任何想法/最佳實踐?謝謝。
更新:爲了澄清我所描述的文件選擇不是一個簡單的組件,它的工作原理完全在客戶端,但必須從服務器獲取數據,提供分頁以及過濾等等。這就是爲什麼我」 d也喜歡重用大部分的客戶/服務器交互。顯示這個組件的視圖當然是愚蠢的,只顯示來自狀態的值 - 但是如何在應用程序的多個位置重用動作/縮減器?
是的,這是我們目前如何解決它..只是尋找一個更好的方式,因爲它有很多移動部件和動態調度,我想避免..(行動需要攜帶[ID]周圍所以你把它們包裝在部分應用的函數等中。) – Tigraine
你也可以用它自己的邏輯+數據使它成爲一個獨立的組件,並使它不在你的Redux存儲中,例如使用'recompose'來處理它通過reducer的內部狀態功能。但是我的經驗是,最終別的人會想知道一些事情! :) – CharlieBrown