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

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

Redux Thunk позволяет выполнять сайд эффекты в приложениях с Redux - сложные синхронные действия, и простые асинхронные действия.

Что такое Redux Thunk? В случае с Redux можно выполнять только простые обновления. Это делелаеся при помощи диспатча actions. Middleware расширяют эти возможности и можно выполнять асинхронные действия. Redux Thunk позволяет выполнять сайд эффекты - сложные синхронные действия, и простые асинхронные действия.

1. Что такое Redux Thunk?

В этом видео добавляем Redux Thunk к проекту, смотрим исходники Redux Thunk, пишем thunk и диспатчим. Смотреть на Rutube

2. Что такое композиция в Redux Thunk?

В этом видео применяем композицию в Redux Thunk для последовательного и параллельного запроса данных, используем кэш для предотвращения запросов и чтения данных из state. Как организовать цепочку вызовов с Thunk и Composition API? Смотреть на Rutube

3. Пишем систему нотификаций с Redux Thunk

В этом видео пишем систему нотификаций при помощи Redux Thunk с возможностью отключения получения нотификаций. Смотреть на Rutube

4. Внедрение зависимостей в Redux Thunk

В этом видео внедряем зависимости в Redux Thunk 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 (строка, массив, объект и т.д.). Узнать больше о Редакс можно здесь.