直接使用store.dispatch有什麼不利嗎?爲什麼在Redux中直接使用「this.props.dispatch」而不是「store.dispatch」?
在我看來,調用起來要容易得多(因爲它可用於所有子組件),而在我的測試中,迄今爲止,我還沒有找到區別。
謝謝!
直接使用store.dispatch有什麼不利嗎?爲什麼在Redux中直接使用「this.props.dispatch」而不是「store.dispatch」?
在我看來,調用起來要容易得多(因爲它可用於所有子組件),而在我的測試中,迄今爲止,我還沒有找到區別。
謝謝!
在universal apps中,您需要在每個請求上使用不同的存儲實例。如果您只是將某商店作爲單件從某個模塊導出,那麼您將很難添加服務器渲染。
這就是爲什麼我們從不鼓勵在文檔中使用單件商店,並且總是鼓勵您使用<Provider>
通過React context將其傳遞給層次結構。這使得商店可以使用商店,而不使其成爲單身。
至於爲什麼connect()
從陣營終極版通過dispatch
作爲道具,而不是store
本身,那是因爲你並不真正需要store
本身在連接部件。訂閱和閱讀狀態由connect()
完成,因此您只需要組件中的dispatch()
。
通常我會發現商店在頂層模塊中初始化,然後在react-redux連接函數中在較低層模塊中使用。
這可以防止需要將商店直接導入較低級別的模塊,因爲它將從頂級導入。
如何從動作創建者訪問商店,例如,如果它不是單身人士?我正在考慮有一個商店模塊,分別爲客戶端和服務器端使用導出單例和工廠。 – orourkedd
@orourkedd爲什麼你想要訪問行動創造者的商店? –
我一直在想它,現在認爲這是一個不好的模式,以行動創造者或任何其他全球/單身的方式訪問商店。 – orourkedd