2015-10-19 349 views

回答

40

universal apps中,您需要在每個請求上使用不同的存儲實例。如果您只是將某商店作爲單件從某個模塊導出,那麼您將很難添加服務器渲染。

這就是爲什麼我們從不鼓勵在文檔中使用單件商店,並且總是鼓勵您使用<Provider>通過React context將其傳遞給層次結構。這使得商店可以使用商店,而不使其成爲單身。

至於爲什麼connect()從陣營終極版通過dispatch作爲道具,而不是store本身,那是因爲你並不真正需要store本身在連接部件。訂閱和閱讀狀態由connect()完成,因此您只需要組件中的dispatch()

+0

如何從動作創建者訪問商店,例如,如果它不是單身人士?我正在考慮有一個商店模塊,分別爲客戶端和服務器端使用導出單例和工廠。 – orourkedd

+0

@orourkedd爲什麼你想要訪問行動創造者的商店? –

+0

我一直在想它,現在認爲這是一個不好的模式,以行動創造者或任何其他全球/單身的方式訪問商店。 – orourkedd

1

通常我會發現商店在頂層模塊中初始化,然後在react-redux連接函數中在較低層模塊中使用。

這可以防止需要將商店直接導入較低級別的模塊,因爲它將從頂級導入。

相關問題