[英]Can I use state in components while using Redux or Redux store?
[英]React + Redux + Router - should I use one state/store for all pages/components?
我正在使用React + Redux,在閱讀了關於react-router-redux和redux-router的信息之后 ,並且在閱讀了Dan Abramov的回答之后 ,我決定使用“香草”的react-router(我不在乎時間旅行等。這點)。
剩下的唯一開放問題是如何處理不同路線上的狀態。 在我的應用程序中,每個路由子樹都可以是一個不同且獨立的部分(尤其是當它變大時)。 擁有一家商店來處理所有路線/頁面仍然是一種好習慣嗎? 我是否(至少)對每個主要路徑都沒有不同的存儲/狀態?
我認為路由應該是某種無狀態且獨立的路由,這意味着,如果我直接進入我的鏈接之一,它將起作用,並且不會意識到其他同級路由。 我應該把它反映到我的商店嗎?
編輯
經過更多的思考,我猜想使用不同的reducers +“ CombineReducers”可以解決問題。 我要驗證的唯一一件事是,導航時先前路線的狀態不會持續
驗證先前路由狀態不持久的可能解決方案中的一種:
當用戶在頁面之間導航時,每條路線中的頂級組件都在安裝和卸載。 您可以使用它們的生命周期方法發送任何redux事件以清除狀態。
例如,從componentWillUnmount
發送CLEAN_STATE
。 您應該從它的頂級reducer結束返回初始狀態中捕獲此事件。 為此,您可以使用undefined
作為狀態參數手動調用所有嵌套的reducer。 在這種情況下,每個減速器將返回其初始狀態。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.