Spec-Zone.ru › Redux 3

Redux FAQ

Содержание

  • Общие вопросы
    • Когда следует использовать Redux?
    • Можно ли использовать Redux только с React?
    • Нужно ли иметь определенный инструмент сборки для использования Redux?
  • Редукторы
    • Как поделиться состоянием между двумя редукторами? Нужно ли использовать combineReducers?
    • Обязательно ли использовать оператор switch для обработки действий?
  • Организация состояния
    • Обязательно ли помещать всё состояние в Redux? Можно ли использовать setState() React?
    • Можно ли помещать функции, промисы или другие несериализуемые элементы в состояние хранилища?
    • Как организовать вложенные или дублирующиеся данные в состоянии?
  • Настройка хранилища
    • Можно или следует создавать несколько хранилищ? Можно ли импортировать хранилище напрямую и использовать его в компонентах?
    • Можно ли иметь более одной цепочки мидлваров в расширителе хранилища? В чём разница между next и dispatch в функции мидлвара?
    • Как подписаться только на часть состояния? Можно ли получить отправленное действие как часть подписки?
  • Действия
    • Почему тип должен быть строкой или хотя бы сериализуемым? Почему типы действий должны быть константами?
    • Всегда ли существует однозначное соответствие между редукторами и действиями?
    • Как можно представить «побочные эффекты», такие как вызовы AJAX? Почему нам нужны такие вещи, как «создатели действий», «thunk» и «мидлвары», чтобы выполнить асинхронное поведение?
    • Следует ли отправлять несколько действий подряд из одного создателя действий?
  • Неизменяемые данные
    • В чём преимущества неизменяемости?
    • Почему неизменяемость требуется в Redux?
    • Обязательно ли использовать Immutable.JS?
    • В чём недостатки использования ES6 для операций с неизменяемыми данными?
  • Использование Immutable.JS с Redux

    • Почему следует использовать библиотеку, ориентированную на неизменяемость, такую как Immutable.JS?
    • Почему следует выбрать Immutable.JS в качестве библиотеки неизменяемости?
    • В чём недостатки использования Immutable.JS?
    • Стоит ли Immutable.JS потраченных усилий?
    • Какие практические рекомендации (Best Practices) по использованию Immutable.JS с Redux?
  • Структура кода

    • Как должна выглядеть структура файлов? Как группировать создатели действий и редукторы в проекте? Куда поместить селекторы?
    • Как разделить логику между редукторами и создателями действий? Куда поместить «логику приложения»?
  • Производительность
    • Насколько хорошо Redux масштабируется с точки зрения производительности и архитектуры?
    • Вызов «всех редукторов» для каждого действия не будет медленным?
    • Нужно ли глубоко клонировать состояние в редукторе? Разве копирование состояния не будет медленным?
    • Как можно уменьшить количество событий обновления хранилища?
    • Приведёт ли наличие «одного дерева состояния» к проблемам с памятью? Займёт ли отправка многих действий много памяти?
  • React Redux
    • Почему компонент не перерисовывается или mapStateToProps не выполняется?
    • Почему компонент перерисовывается слишком часто?
    • Как можно ускорить mapStateToProps?
    • Почему в подключённом компоненте недоступен this.props.dispatch?
    • Следует ли подключать только верхний компонент или можно подключать несколько компонентов в дереве?
  • Разное
    • Есть ли какие-нибудь более крупные проекты Redux?
    • Как реализовать аутентификацию в Redux?

© 2015–2017 Dan Abramov
Licensed under the MIT License.
http://redux.js.org/docs/FAQ.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API