Основные термины в Redux

В этом уроке мы кратко пройдемся по основным понятиям и терминам, владение которыми необходимо при дальнейшем изучении Redux.

Начнем мы с действия (экшн, action). Это некоторое событие, которое описывает то, что произошло в нашем приложении. Технически это обычный JavaScript объект, содержащий поле type, в которое мы вписываем название действия.

Вторым важным полем объекта с действием является поле payload. Оно будет содержать полезную нагрузку действия. Под полезной нагрузкой понимается некоторые данные, которые передаются параметрами в действие.

Также в этом объекте могут быть и другие поля с дополнительной информацией.

Давайте для примера создадим действие и назовем его addOrderAction. Пусть оно отвечает за добавление заказа. Значит в свойстве type мы укажем, что заказ добавлен (orderAdded) в заказы (orders). А в payload укажем подробнее, что за заказ, к примеру - покрасить стену:

const addOrderAction = { type: 'orders/orderAdded', payload: 'Paint a wall' }

Чтобы каждый раз не писать объект с действием вручную, мы можем использовать так называемый action creator - функцию, которая будет создавать и возвращать нам объект с действием. Назовем ее addOrder. Параметром мы будем передавать ей нужный нам текст для свойства payload:

const addOrder = text => { return { type: 'orders/orderAdded', payload: text } }

Следующее важное понятие в цепочке - это reducer (редьюсер) - функция, которая принимает текущее состояние и объект с действием. Эта функция решает, как обновить состояние и возвращает уже обновленный стейт, если это необходимо.

Следующие понятие - хранилище (store, стор) - это объект, в котором хранится текущее глобальное состояние Redux приложения. У этого объекта есть метод getState, с помощью которого можно получить текущее значение стейта.

У хранилища есть также метод dispatch. Вызвать его и передать объект с действием - это единственный способ, чтобы изменить стейт. В результате стор запустит функцию-редьюсер и сохранит у себя новое значение стейта.

И последнее понятие, которое мы рассмотрим в данном уроке - это селекторы. Селекторы - это специальные функции, которые знают, как извлечь информацию из стейта, находящегося в хранилище. Эти функции оказываются особо полезными при разрастании приложения и помогают избежать повторения кода.

Подробнее обо всех этих понятиях и о применении их на практике мы узнаем из следующих разделов этого учебника.



Чат с GPT Компилятор