2017-04-16 23 views
1

我想的功能(參考)保存到我Redux的商店,這樣我可以:如何將功能保存到Redux商店?

  1. 傳遞函數引用到連接到存儲狀態的組件,或
  2. retreive存儲函數和在動作創建者中運行它。

一般的共識似乎是你不應該在Redux存儲中存儲函數引用(因爲數據應該是可序列化的)。有沒有什麼辦法可以解決這個問題,從而實現上述兩個過程?

+0

如果您不介意通常不推薦,您會遇到什麼問題?函數引用是一個值,您可以像處理其他類型的值一樣處理。 – zerkms

+0

我想我不明白副作用。但是,除此之外,如果沒有建議,那麼我想知道還有其他解決方案,或者有人知道可以幫助解決這個問題的軟件包。 – JoeTidee

+0

副作用:許多附加庫/工具假定狀態是可串行化的。如果不是 - 他們可能會中斷。 – zerkms

回答

1

Redux FAQ entry on non-serializable items in state

強烈建議你只放普通的序列化對象,數組和原語到你的店。將不可序列化的商品插入商店在技術上是可行的,但這樣做可能會打破商店內容的堅持和補水的能力,並干擾時間旅行調試。

如果你對持久性和時間旅行調試等事情沒有問題,可能無法按預期工作,那麼非常歡迎您將不可序列化的項目放入Redux商店。最終,這是您的應用程序,您如何實施它取決於您。與Redux的其他許多事情一樣,只要確保您明白涉及到哪些折衷。

+0

我的應用程序因第三方軟件包期望商店完全可序列化而中斷。 – JoeTidee