對於我的客戶端,我創建了一些類似測驗web應用程序的應用程序,它基於帶有巨大非常獨特數據的websockets(socket.io)的redux。沒有用戶交互,只是表示層。它的工作原理是這樣的:我通過url獲取websocket事件給我的佈局和有效載荷數據,然後渲染給定的url和fire redux動作,並將數據作爲參數,這變成了應用程序的狀態。就那麼簡單。 但是我注意到,在第一次呈現初始狀態是加載,而不是從websocket作爲參數給予行動。正如我所說的數據我得到的是巨大的,獨特的,所以我不想在減速是這樣的聲明:React Redux - 在第一次渲染時未定義的狀態
pageData: {
assets: [],
questions: [],
details: []
等。它更復雜順便說一句,這只是一個例子。
取而代之的是我做了這樣的事情:
pageData: {}
而且我希望,在視圖(使用連接)我能得到這個數據是這樣的:
this.props.view.pageData.questions
但後來事實證明,我無法得到這個,因爲它在第一次渲染時未定義。所以我的問題是:
- 是否有訪問這個數據的第一渲染,而不 宣佈整體結構的方法嗎?
如果不是,我應該重建reducer中的給定數據嗎?
- 我應該再創建減速的每一頁(有喜歡過20次 具有獨特的數據)
當然,我可以宣佈在減速的一切,但我覺得這是非常難保持這麼多數據。
但是你知道,也許我太懶惰了,我應該爲每個頁面聲明初始狀態,這個問題沒有意義;)。
您可以爲您的redux商店指定一個initialState。 –