2015-08-31 43 views
2

我想知道是否有更好的方法來遠程組件之間進行通信。在我來說,我有結構是這樣的:從遙遠的組件傳遞數據

<div> 
    <History /> 
    <Board> 
    <BoxesView> 
     <DataBox> 
     <TagBoxItem /> 
     </DataBox> 
    </BoxesView> 
    </Board> 
</div> 

,我需要從TagBoxItem發送一些數據歷史(在TagBoxItem的onClick操作將新項目添加到歷史)。最簡單的解決方案是隻做一些回調,並將TagBoxItem中的數據逐步傳遞給主div,然後將其傳遞給History。但是,這真的是最好的方式嗎?

回答

3

這是探索Flux模式的有效案例。您將通過TagBoxItem中的操作創建者發起操作,該操作通過調度器傳播到歷史存儲。在歷史庫更改您將重新顯示歷史組件。

與Flux相似,還有Redux狀態容器,目前得到了很多關注。重要的區別而不是多個商店你將所有的狀態保存在一個商店,你會爲你的情況創建歷史減速器。瀏覽the Gist瞭解更多詳情。

1

作爲尤金的回答,使用Flux模式總是一種推薦的方式。如果你不想使用它,你可以嘗試創建一個全球事件系統。如果您有興趣,我加了the link