Ответ 1
В универсальных приложениях вам понадобится другой экземпляр магазина для каждого запроса. Если вы просто экспортируете хранилище как одноэлемент из какого-либо модуля, вам будет сложно добавить рендеринг сервера.
Вот почему мы никогда не поощряем хранилище singleton в документах и всегда рекомендуем вам использовать <Provider>
, чтобы передать его по иерархии через React context. Это делает магазин доступным для компонентов-потребителей, не делая его односторонним.
Что касается того, почему connect()
из React Redux передает dispatch
в качестве пропеллера вместо самого store
- это потому, t действительно нужно store
себя в подключенных компонентах. Состояние подписки и чтения выполняется с помощью connect()
, поэтому вам понадобятся только dispatch()
в компонентах.