2016-06-10 56 views
3

我有徘徊時顯示一個簡單的工具提示工具提示組件。在同一個組件的所有實例之間共享狀態?

當您mouseLeave組件,a setTimeout觸發,並且當它結束時,工具提示關閉(setState({ open: false }))。

現在,我想添加行爲,以反映本地操作系統提示的一個:

當你mouseLeave一個提示,但瞬間mouseEnter不同的提示,以前的工具提示立即關閉,新一個被打開。

要做到這一點,我需要有工具提示組件的所有實例之間共享狀態。我可以使用Redux,但對於一個如此簡單的任務來說似乎有點矯枉過正(我需要一個與商店交互的容器,並提供一個動作和一個屬性)。

有沒有簡單的解決方案?

+0

最維護的方式做,這是一個流量的方法。 Redux並不是唯一的選擇,但我認爲這不是過分的。如果您需要全局狀態,請使用內置的工具來處理它。 –

回答

0

到ReactComponent之間共享信息的最佳方式是磁通架構。 Redux就是其中之一。

一個更簡單的選擇是使用browser native storage用來存儲臨時信息:它類似於全局變量,但具體的範圍和期限的定義。

0

移動共享狀態到所有Tooltip S的父組件的state,具有該父定義一個方法setWhatever設置的值,並且經由傳遞屬性此方法Tooltip組件。這樣,當孩子需要改變他們的狀態時,他們可以撥打他們的setWhatever屬性,這是他們的父母之一。

+0

這不是一個解決方案,這個組件將被用於所有的應用程序。你的方法會使代碼很難維護。 –

相關問題