Один из первых загугленных примеров: https://codepen.io/jessenoseworthy/pen/KawYod
Кнопка компонент с какими-то пропсами.
На сколько дробить это уже на своё усмотрение, может некоторые вещи этого и не потребуют.
Например в вашем коде sidebar_changing-block явно напрашивается на вынос в отдельный компонент. Ибо это уже какой-то спагетти код получается.
Особенно при использовании React девтулз вы сможете видеть более четку картинку, что куда идёт и какие параметры получает.
Eugene Aristarhov, React был выбран не лидом, а более высшими силами, но этот лид тоже поддерживает React, потому как в тренде. React is only V from MVC, поэтому MC мы можем создать самостоятельно и в данном случае помогает нам mobX. На вопрос почему мы не пишем как все, или большинство, или как рекомендуют ответ что-то вроде: Что ты имеешь ввиду, я считаю мы используем best practices.
Писать логику в Реакт компоненте (кстати я такого ему не говорил) это очень и очень плохая практика. Каждый опытный веб разработчик так же и в React комьюнити советует разделять вещи. Поэтому есть redux, mobx, rx etc. "А я просто предпочитаю OOP" ибо очень orgenized и читабельно.
Как-то так
Спасибо за ответ.
"Если углубляться в ваш пример, то выглядит всё странно. Например, мне совершенно непонятен этот пункт:"
ВЫглядит это так. Есть папка models в корне, там хранятся модельки типа mobX разные классы со всякими observable, computed итд. Далее есть папка components, где собственно общие компоненты. И компонент, например, с реюзабельной формой содержит: файл controllers и там какой-то класс, файл model и там какой-то класс, файл view в котором какой-то класс , который экстендит переписанный Реактовский компонент, стили ну и точку входа index где это все мапится и инжектится и почему-то экспортируется двумя способами (пока не понял зачем) export {Чудокомпонент} и export default Чудокомпонент
Eugene Aristarhov, Реакт вместо AngularJS 1.x - просто гонка за новыми технологиями насколько я понял по их словам. Про Ангулар 2 не спросил. К тому-же React + mobX + TS в их испольлнении мне вообще почему-то напомнил AngularJS 1 + OOP подход с MVC.
Eugene Aristarhov, большое спасибо за развёрнутый ответ. А мы как раз с 1го Ангулара и переписываем. Но на первом ангуларе они писали неплохо, некоторые моменты были непонятны, типа "А нафига так-то?", но я закрыл глаза :) Я обрадовался, что будет React, но такой подставы не ожидал. Я пытался сказать, что не пишут так на что в ответ только получил улыбку и вопрос с насмешкой, а как пишут? Ребята опытные дотнетчики, которые именуют себя фулстеками с южных стран (не наши :) )
За совет тоже спасибо
davidnum95, рассказывать бесполезно. тут нужно принять. Мне просто интересно, есть ли вообще какие-то преимущества от подобного ведения проекта, либо это просто личные вкусы по стилистике
Pantene742, есть еще flow, про reasom молчу. Выбран TS потому, что лиду, я так понял, удобней из-за .NET бекграунда.
'Смотри преимущества mobX от Redux' - Не очень понял фразу. Я раньше с Redux работал. но mobX пол беды, не понимаю зачем так вести проект. Типизация ок, а в остальном подход делает тот же компонент только на десятки строк больше
Спасибо, legend уже ближе, но все равно пока найти не могу. Что только не пытался ввести в поиск, но скорее всего мои ключевые запросы не из той оперы, так как понятия не имею как правильно это может называться
Антон Спирин, а не, это очень древний сервис, где без всякиз доков мне выгружают таблицы какие они есть с релейшинами и я без ложки и вилки их хаваю :(