Обновление: это сообщение в блоге было написано 22 июля 2017 г. для response-redux v5.x. Начиная с версии 6 API был изменен, вы можете проверить новый API в официальной документации: Создать несколько магазинов
Оригинальный пост выглядит следующим образом:
Прежде чем вы прочитаете этот пост, я настоятельно рекомендую вам прочитать это:
Также ознакомьтесь с различными ссылками на обсуждения, приведенными под ответом. Это должно удерживать вас от создания нескольких хранилищ redux.
Провайдер
Помимо экспорта Provider
, connect
, react-redux также экспортирует createProvider
функцию. Он принимает аргумент storeKey
, который определяет, на каком ключе контекста необходимо установить хранилище. По умолчанию это "store"
, поэтому вы можете установить его равным "myComponentStore"
.
Соединять
Четвертый параметр для подключения - options
, который может принимать storeKey
ключ, который определяет, из какого ключа контекста необходимо читать хранилище.
Слова совета
Итак, что мне делать, если создание нескольких магазинов Redux считается плохим?
Ответ - использовать combineReducers
Использование combReducers · Redux
Самая распространенная форма состояния для приложения Redux - это простой объект Javascript, содержащий« фрагменты специфичных для домена данных в каждом ключе верхнего уровня… redux.js.org »
Подобно тому, как вы выбрали storeKey
контекст, в котором должно располагаться хранилище, вы выбираете ключ, в котором состояние вашего компонента должно находиться в состоянии хранилища.
Причина, по которой мы хотели создать несколько магазинов redux, заключалась в том, что мы создали сложный компонент с множеством экранов и макетов, который собирался использовать на нескольких веб-сайтах в экосистеме React, некоторые из которых имеют Redux, а некоторые нет. Поэтому, чтобы упростить простую настройку, мы создали несколько магазинов redux.