Дэн,

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

Как совсем новый программист, я много боролся со спагетти-кодом, непредвиденными побочными эффектами, архитектурой, которая сбивалась с толку по мере ее роста.

С React + неизменяемое + чистое программирование, и все это Redux хорошо склеивает. У меня был один объект, на который нужно было обратить внимание, чтобы понять состояние приложения, мутации легко понять и проследить, случайные побочные эффекты редки. Это упростило рассуждение о моем приложении, потому что было очень ясно, что происходит, куда поступают данные, что обновляется. Не было никаких закулисных магических действий, которым я должен был прочитать документацию, а затем доверять ей или обходить ее стороной.

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