Реагировать хуки: они полезны для общего управления состоянием, как, например, Redux? - PullRequest
0 голосов
/ 08 ноября 2018

Есть шумиха о крючках React. Слишком много информации, и я до сих пор не знаю: означает ли появление хуков, что такие библиотеки, как Redux, могут быть выброшены на свалку?

До сих пор я понял, что хуки хороши для функциональных компонентов с состоянием, а как насчет общего состояния?

Ответы [ 4 ]

0 голосов
/ 06 августа 2019

Внимание, Redux - это просто управление состоянием. Не реагирующая библиотека. Вы можете использовать Redux в любом проекте, который захотите.

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

Могут быть и другие случаи использования, когда Redux не нужен, но нет, ни хуки, ни контекст не "убьют" Redux .

Я использую Redux внутри корпоративного приложения, которое раньше было беспорядком, но не было источника правды. Redux наводит порядок внутри кодовой базы и логики.

0 голосов
/ 08 ноября 2018

Нет, зацепки не полностью устраняют необходимость в Redux. Хуки в основном являются альтернативой реализации функций, которые мы должны использовать сегодня для классов:

  1. Состояние локального компонента
  2. Контекст
  3. Методы жизненного цикла и побочные эффекты

Помимо описанного выше, ловушки также обеспечивают более простой способ обмена логикой состояния между компонентами.

Что более вероятно убить / заменить Redux, так это context вместо хуков, который является способом совместного использования состояния между компонентами. Но контекст IMO не такой мощный, как в хранилищах Redux, поскольку есть и другие функции, которые предлагает Redux, помимо общего хранилища состояний, такого как промежуточное ПО и специализированный devtool с возможностями для путешествий во времени. Существует также целая экосистема обучения и инструментария, построенная вокруг Redux, которой, насколько я знаю, в данный момент не существует.

Если вы используете хук useReducer в сочетании с контекстом, как в в этом примере , это будет очень похоже на использование Redux и для небольших приложений (например, TodoMVC), этого может быть достаточно. Для больших приложений я не думаю, что достаточно одного контекста, и useReducer будет достаточно. Вам может понадобиться несколько из них, и именно здесь использование Redux и создание магазинов имело бы смысл. Вы также можете комбинировать несколько контекстов и useReducer хуков, но будет проще использовать Redux.

0 голосов
/ 17 ноября 2018

Нет, перехватчики не заменят Redux, но они могут помочь вам написать более чистый код, и вам не нужно будет писать компоненты класса только для использования локальных состояний или методов жизненного цикла. Это отличный пример использования.

Раньше вам приходилось использовать Redux, чтобы убедиться, что состояние сохраняется между каждым повторным рендерингом компонента. Но теперь вы можете просто использовать метод useState () для реализации постоянного локального состояния! Вы можете использовать useEffect () вместо методов жизненного цикла React и использовать useReducer для написания методов быстрого создания и доступа к глобальному состоянию !!

Вот хорошая статья о том, как использовать метод useReducer ().

0 голосов
/ 08 ноября 2018

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

...