Введение
Официальный, самоуверенный набор инструментов с батарейками для эффективной разработки Redux
(Ранее известный как "Redux Starter Kit")
Установка
Используя Create React App
Рекомендованный путь для старта новых приложений с React и Redux Toolkit, использовать официальный шаблон Redux+JS для Create React App, который использует преимущества интеграции React Redux с компонентами React.
Как отдельное приложение
Redux Toolkit доступен, как NPM-пакет, для использования с бандлером или в Node приложении:
Он также доступен, в виде прекомпилированного UMD пакета, который определяет глобальную переменную window.RTK
UMD пакет может использоваться напрямую через тэг <script>
.
Цель
Redux Toolkit предназначен для стандартного способа написания логики Redux. Первоначально он был создан, чтобы помочь решить три распространенные проблемы, связанные с Redux:
"Конфигурирование Redux стора слишком сложное"
"Мне нужно добавить много пакетов, чтобы Redux делал что-нибудь полезное"
"Redux требует слишком много шаблонного кода"
Мы не можем покрыть все варианты использования, но в духеcreate-react-app
и apollo-boost
, мы можем попыпаться предоставить некоторые инструменты, которые абстрагируют процесс настройки и покрывают наиболее распространенные варианты использования, а также предоставить некоторые полезные утилиты, которые позволят пользователю упростить код своего приложения.
Из-за этого размер этого пакета намеренно ограничен. Он не обращается к таким концепциям, как "переиспользуемые инкапсулированные модули Redux", кэширование данных, структура папок или файлов, отношения управляющих сущностей в сторе и т. д.
Что включено
Redux Toolkit предоставляет следующие API:
configureStore()
: оборачивает createStore для передачи упрощенных параметров конфигурации и значений по умолчанию. Он может автоматически комбинировать ваши слайсы редьюсеров, добавлять любые мидлвары Redux, по умолчанию включаетredux-thunk
и позволяет использовать расширение Redux DevTools.createReducer()
: позволяет вам использовать таблицу соответствия типов экшенов с функциями редьюсера, вместо написания операторов switch. Кроме того, он автоматически использует библиотекуimmer
чтобы вы могли писать более простые иммутабельные обновления в обычном мутабельном стиле, напримерstate.todos[3].completed = true
.createAction()
: создает генератор экшена для переданного типа. В самой функции определена функцияtoString ()
, поэтому ее можно использовать вместо константы типа.createSlice()
: принимает объект с функцией редьюсера, название слайса, значение начального состояния и автоматически создает слайс-редьюсер, с соответствующими генераторами и типами экшенов.createAsyncThunk
: принимает строку типа экшена и функцию, которая возвращает промис и генерирует thunk, который диспатчитpending/fulfilled/rejected
типы экшенов на основе этого промисаcreateEntityAdapter
: создает набор переиспользуемых редьюсеров и селекторов, для управления нормализованными данными в стореУтилита
createSelector
из библиотеки Reselect , реэкспортируемая для удобства использования.
Документация
Документация Redux Toolkit доступна по адресу https://redux-toolkit.js.org.
Last updated