Люблю отзывы и предложения! Чтобы ответить на ваши вопросы, вот некоторые из моих мыслей:

  1. Я полностью согласен с вами в том, что я предпочитаю проверять свою кодовую базу в будущем и использовать технологии, которые могут помочь улучшить масштабирование моего приложения. Но, честно говоря, я считаю, что просто использовать технологию, не зная, как она на самом деле помогает вашей кодовой базе, - не лучший подход. В этом конкретном случае наша команда хотела внедрить React в приложение Angular 1.x, и мы хотели минимизировать как можно больше новых технологий одновременно. Я читал о Redux, но, честно говоря, еще не видел, чтобы это вписывалось в общую картину, поэтому я предложил своей команде не упоминать об этом, пока это не станет более осмысленным. Я думаю, что это было правильное решение, потому что оно привело нас к тому, что мы увидели некоторые из болевых точек простого использования React и включения всей нашей бизнес-логики в наш уровень представления. Из этих болевых точек мы смогли увидеть ценность такой архитектуры, как Flux (в данном случае Redux).
  2. Раньше я думал, что внедрить Redux в полноценное приложение React будет сложно, но, честно говоря, по моему опыту, на самом деле это было довольно легко. Причина, по которой для меня это было довольно приятно, заключается в том, что я не пытаюсь сразу переместить все из состояния компонента в состояние приложения redux. Вместо этого я сначала представил redux через новую функцию, над которой мы работали. Для этого конкретного компонента, вместо объявления состояния в самом компоненте, я просто переместил его в состояние redux. На данный момент состояние редукции суперминимально, но это совершенно нормально. Постепенно я начал переводить остальную часть состояния другого моего компонента в состояние редукции.
  3. Я думаю, что другая сложная часть использования Redux и React заключается в том, что вы действительно хотите использовать другую библиотеку, которая склеивает эти две библиотеки вместе, а именно React-Redux (https://github.com/reactjs/react-redux ). К счастью, API очень маленький и довольно прост в использовании - у меня есть планы написать еще один пост, который немного углубится в это, так что следите за обновлениями! Я думаю, что это на самом деле поможет ответить на ваши предложения о компонентах Smart и Dumb, а также о том, как подключить Redux и React для совместной работы.

Надеюсь, этот пост по-прежнему был вам полезен, и я очень благодарен за отличные предложения!