Мысли о том, какие требования выдвигает Redux, как задумано использование Redux и что возможно с Redux.
Я потратил много времени, обсуждая онлайн паттерны использования Redux, была ли это помощь тем, кто изучает Redux в [Reactiflux каналах][1], дискуссии о возможных изменениях в API библиотеки Redux на Github'е, или обсуждение различных аспектов Redux'а в комментариях к тредам на [Reddit'е][2] или [HN (HackerNews)][3]. С течением времени, я выработал свое собственное мнение о том, что представляет собой хороший, идиоматичный Redux код, и я хотел бы поделиться некоторыми из этих мыслей. Несмотря на мой статус [мейнтейнера][4] Redux'а, **это всего лишь мнения**, но я предпочитаю думать, что они являются достаточно хорошими подходами.
Redux, в своей сути, невероятно простой паттерн. Он сохраняет значение, выполняет одну функцию для обновления значения когда это необходимо, и уведомляет любых подписчиков о том, что что-то изменилось.
Несмотря на эту простоту, или, возможно, вследствие ее, существует широкий спектр походов, мнений и взглядов о том, как использовать Redux. Многие из этих подходов широко расходятся с концепциями и примерами из документации.
В то же время, [продолжаются жалобы][5] на то, как Redux «заставляет» вас делать вещи определенными способами. Многие из этих жалоб на самом деле включают концепции связанные с тем, как Redux обычно используется, а не фактическими ограничениями наложенными самой библиотекой Redux. (Например, только в одном недавнем HN треде я видел жалобы: «слишком много шаблонного кода», «константы action'ов и action creator'ы не нужны», «я вынужден редактировать слишком много файлов чтобы добавить одну фичу», «почему я должен переключаться между файлами чтобы добраться до своей логики?», «термины и названия слишком сложны для изучения или запутанны», и _слишком_ много других.)
[Читать дальше →][6]
[1]:
https://www.reactiflux.com/
[2]:
https://www.reddit.com/r/reactjs/
[3]:
https://news.ycombinator.com/
[4]:
https://github.com/markerikson
[5]:
https://habrahabr.ru/post/330072/
[6]:
https://habrahabr.ru/post/330692/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut