Pull to refresh
4
0
Roman Zhernosek @ipshot

Full Stack Web Developer

Send message

Улучшаем useReducer

Reading time5 min
Views11K

С появлением 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.

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

Information

Rating
Does not participate
Location
Россия
Registered
Activity