Во-первых, это не руководство и уж тем более не супертехнический пост, в котором сравниваются все варианты обработки глобального состояния в React, это просто отчет о моем собственном опыте использования Redux.Js за последние 6 месяцев! :)

Одна приятная вещь, которую нужно знать обо мне, это то, что, когда я начал разрабатывать и искать позиции для фронтенда, было обычным делом знать redux, это требование было в каждой публикации о вакансиях, и я думаю, что redux был на пике популярности. В то время я много пытался изучить его, но, в отличие от других технологий, пришедших из React, в Redux было что-то, что заставляло меня скучать во время обучения и кодирования, в то же время я нашел работу с замечательной командой, и они поделились такое же чувство, как и у меня, поэтому я забыл Redux и начал всегда использовать Context Api.

Шесть месяцев назад я принял новый вызов, команда была отличной, деньги были отличными, и среда была отличной, НО (всегда есть но) проект использовал Redux, я бы солгал, если бы сказал, что не думал дважды из-за этого я создал плохой образ Redux в первый год своей карьеры, трудно стереть предрассудки, созданные на первых шагах, но я решил принять предложение и встретиться лицом к лицу со своими старыми монстрами.

Я был прав, но не СОВЕРШЕННО прав, Redux продолжает вызывать у меня то же чувство: люди часто используют его, когда им это не нужно. Я хочу сказать следующее: Чтобы использовать Redux, нужна причина. Ежедневное его использование заставило меня заметить, что некоторые действия, которые я привык выполнять быстро, в конечном итоге отняли много времени, потому что насколько бюрократичен Redux, «однофайловые» изменения оказались цепочкой файлов, которые нужно было обновить, и много раз процесс становился утомительным.

Если бы я был в начале своей карьеры, я бы думал и говорил, что всякая бюрократия — это плохо и всегда нужно развиваться как можно быстрее (конечно, сохраняя качество), но я понял, почему Redux так известен и это все еще используется в наши дни. Redux отлично подходит, если у вас сложная система и вам нужна надежная архитектура, которая может быстро фрагментироваться и продолжать развиваться. Это также делает свою работу, если у вас большая команда и вы не можете позволить себе ошибки, команды, которым нужно больше «контроля», выигрывают от бюрократии.

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

С этого момента я всегда буду спрашивать себя, в каждом новом создаваемом проекте нужно ли использовать избыточность?

Что касается проекта, над которым вы сейчас работаете, вы используете Redux? Тебе это надо? Возможно, вы все еще находитесь в сладком месте, чтобы удалить или добавить его, на вопрос просто ответите вы, а не готовые мнения! 😊