Хранилище — это неизменяемое дерево объектов в Redux. Хранилище — это контейнер состояния, в котором хранится состояние приложения. Redux может иметь только один магазин в вашем приложении. Всякий раз, когда магазин создается в Redux, вам нужно указать редуктор.
Давайте посмотрим, как мы можем создать магазин, используя метод createStore из Redux. Нужно импортировать пакет createStore из библиотеки Redux, которая поддерживает процесс создания магазина, как показано ниже —
import { createStore } from 'redux'; import reducer from './reducers/reducer' const store = createStore(reducer);
Функция createStore может иметь три аргумента. Ниже приводится синтаксис —
createStore(reducer, [preloadedState], [enhancer])
Редуктор — это функция, которая возвращает следующее состояние приложения. PreloadedState является необязательным аргументом и является начальным состоянием вашего приложения. Энхансер также является необязательным аргументом. Это поможет вам улучшить магазин сторонними возможностями.
У магазина есть три важных метода, как указано ниже:
GetState
Это поможет вам получить текущее состояние вашего магазина Redux.
Синтаксис для getState выглядит следующим образом:
store.getState()
отправка
Это позволяет вам отправлять действие для изменения состояния в вашем приложении.
Синтаксис для отправки следующий:
store.dispatch({type:'ITEMS_REQUEST'})
подписываться
Это поможет вам зарегистрировать обратный вызов, который будет вызывать хранилище Redux при отправке действия. Как только состояние Redux будет обновлено, представление будет автоматически перерисовано.
Синтаксис для отправки следующий:
store.subscribe(()=>{ console.log(store.getState());})
Обратите внимание, что функция подписки возвращает функцию для отмены подписки слушателя. Чтобы отписаться от слушателя, мы можем использовать следующий код —