Видео-курс по Redux

2 года назад·1 мин. на чтение

Видео-курс по Redux, в котором разбираемся как работать с Redux в React приложении.

1. Все что нужно знать о Redux

Это видео - быстрый старт в Redux, и оно поможет понять все основные концепции Redux. Здесь мы разберем что такое Redux, основные понятия Redux и три его принципа. Поговорим об Actions, Dispatch, Reducer, Store и узнаем о Redux data flow. Смотреть на Rutube

2. Добавляем Redux в React приложение быстро: useSelector, useDispatch

В этом видео добавляем Redux в ReactJS приложение todo app. Пишем редьюсеры (reducers) и диспатчим экшены (dispatch actions). Используем redux hooks API, такие как useSelector, useDispatch. Смотреть на Rutube

3. Что такое Action Creator в Redux?

В этом видео пишем action creators в React Redux приложении и используем их в dispatch. Пишем функцию для создания action creators. Смотреть на Rutube

4. Что такое Redux Middleware?

В этом видео разбираем middleware в Redux. Пишем кастомные middleware для логирования и отложенного выполнения действия. Смотреть на Rutube

5. Функция next в Redux Middleware

В этом видео подробно разбираем функцию next в middleware Redux, смотрим как получить значение возвращенное из dispatch и пишем функцию для получения значений всех middleware. Смотреть на Rutube Исходный код

Что такое payload в Redux

год назад·1 мин. на чтение

Работая с Redux вы сталкивались с таким полем как `payload`, которое передается в action’е

Payload (пэйлоад, полезная нагрузка) — это неофициальное, принятое сообществом соглашение об именовании поля, которое содержит фактические данные в объекте действия (action) в Redux. В официальной документации говорится только, что действие Redux должно быть простым объектом и должно иметь имя действия, представленное строкой: Этот простой объект, который описывает изменение, которое применяется в нашем приложении. Действия должны иметь поле для типа (type), указывающее тип выполняемого действия. Типы могут быть определены как константы и импортированы из другого модуля. Лучше использовать строки для текста, чем символы, потому что строки сериализуются. Помимо типа, структура объекта действия зависит только от программиста.

Лучшие практики сообщества

Многие вещи не стандартизированы в Redux, поэтому у вас есть максимальная гибкость, чтобы делать все по-своему, но, поскольку большинство из нас не хотят придумывать индивидуальное решение для каждой мелочи повседневной детали, сообщество имеет тенденцию устанавливать лучшие практики. Чтобы отделить этот тип от обычных данных, используется свойство payload. Теперь вопрос в том, что должно входить в эту полезную нагрузку (payload). Необязательное свойство payload МОЖЕТ иметь значение любого типа. Он представляет собой полезную нагрузку действия (redux action). Любая информация о действии, которая не является type или состоянием действия, должна быть частью поля payload. Например:
const someAction = {
  type: "Test",
  payload: {
    user: "Test User",
    age: 25
  },
}
Это общепринятое соглашение о том, чтобы иметь тип и полезную нагрузку для действия. Полезной нагрузкой может быть любой допустимый тип JS (строка, массив, объект и т.д.). Узнать больше о Редакс можно здесь.