In universal apps, occorrerà un'istanza di negozio diversa per ogni richiesta. Se si esporta solo l'archivio come un singleton da qualche modulo, sarà difficile aggiungere il rendering del server.
Questo è il motivo per cui non incoraggiamo mai il negozio singleton nei documenti e incoraggiamo sempre l'utente a utilizzare <Provider>
per passarlo lungo la gerarchia tramite React context. Ciò rende lo store disponibile per i componenti che consumano senza renderlo un singleton.
Per quanto riguarda il motivo per cui connect()
da Reagire Redux passa dispatch
come puntello al posto di store
stessa, è perché non si ha realmente bisogno per sé store
nei componenti collegati. Lo stato di sottoscrizione e lettura viene effettuato da connect()
in modo da avere sempre solo bisogno di dispatch()
nei componenti.
fonte
2015-10-20 01:00:51
Come si accede al negozio da un creatore di azioni, ad esempio, se non è un singleton? Stavo pensando di avere un modulo negozio che esporta rispettivamente un singleton e una factory per l'utilizzo lato client e lato server. – orourkedd
@orourkedd Perché vuoi accedere al negozio nei creatori di azioni? –
Ci stavo pensando e ora credo che sia un cattivo schema accedere al negozio nei creatori di azioni o in qualsiasi altro modo globale/singleton. – orourkedd