Обновить
4
0
Roman Zhernosek@ipshot

Full Stack Web Developer

Отправить сообщение

Улучшаем useReducer

Время на прочтение5 мин
Охват и читатели11K

С появлением useReducer и useContext управление app state стало намного удобнее, а также отпала необходимость в использовании Redux.


Когда я в первый раз отказался от Redux в пользу стандартного useReducer я ощутил нехватку некоторых полезных функций:


  • useSelector. Позволяет оптимизировать перерисовку компонент, которые используют useContext, с помощью memo.
  • Единственный dispatch. Упрощает обновление app state так как не нужно использовать отдельный dispatch каждого useReducer.
  • Cache. Не нужно заботиться о кэширование каждого useReducer.

Тогда я решил попробовать улучшить стандартный useReducer, добавив эти 3 функции. Эта идея превратилась в новую небольшую библиотеку, которую я назвал Flex Reducer.


Интересный факт!


Flex Reducer не использует ни useReducer ни useContext в своей реализации.


Посмотрим плюсы и минусы использования стандартных useReducer + useContext и Flex Reducer на примере типичного Todo App.

Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность