Комментарии
Картинка с жизненным циклом и методами компонента малость устарела, getDerivedStateFromProps теперь для любого update
Всё хорошо, но как только дело доходит до дебага, пиши пропало… И это не «болячка» React-а, это родовая травма JS. Все носятся с этим React-ом как с писаной торбой. А мне не понравилось… Ни React на фронте, ни React Native в мобилках. Наверное, я — не модный динозавр, но мне важен простой дебаг и качественный деплой. И чтоб команде не приходилось делать вывих мозга с этими Вашими Сагами и Редаксами.

Просто вы не умеете его готовить.
Например
Для дебага Redux есть redux devtools extension, который позволяет проигрывать action, и делать навигацию по ним, в том числе в историю. Вполне себе удобно.

Мне, как то, на очевидное предложение, расставить брейкпоинты и в дебаге посмотреть почему данные не те, ответили: я не пользуюсь брейкпоинтами!

Вот тут то я и почувствовал себя старым, как уже выше написали, у них, видите ли, есть redux devtools, который визуализирует все.
Лично мне гораздо ближе подход Angular к поддержке шаблонизации. При всём уважении, но JSX — это спагетти в лучших традициях PHP.
JSX — это спагетти в лучших традициях PHP

Просто по факту React — это прокачанный шаблонизатор. Поэтому зависит от дисциплины разработчика. Заметил, что именно бекенд-разработчики с php-прошлым превращают JSX в спагетти, превращают разметку в кошмар..) Видите-ли негоже тру-фуллстеку думать над композицией компонентов, где надо разделить на компоненты, а где лучше всё вместе оставить)
Давно давно, после 2 лет работа с ангуляром первым, реакт был как глоток свежего воздуха. И не смотря на то что 90% времени я занимаюсь бэкендом уже долгое время, все таки открыть и подправить что то в реакте намного приятнее чем в том же ангуляре (а у нас есть легаси с первым ангуляром).

Но вот когда сам баловался с реактом на пет проджекте, я как-то огорчился при работе с формами, а конкретно чекбоксами, радио… было чувство что слишком много боилерплейта нужно писать вроде бы для простых вещей типа отмечен чекбокс или нет :/
А именно, тут рендеринг визуальной составляющей приложения был изолирован от представления модели.

А в каких фреймворках не был?


Благодаря React во фронтенд-экосистеме JavaScript появилась совершенно новая архитектура — Flux.

Flux — частный случай MVC, так что нету здесь ничего нового.

Этот материал написан для тех, кто хочет найти ответ на следующие вопросы: Почему React работает именно так?

Хочу найти простое объяснение на вопрос про это:
У каждого элемента списка, который нужно вывести, должен быть постоянный уникальный идентификатор, предназначенный для использования в JSX-атрибуте key.

Почему сам React не добавляет этот key автоматически? Почему это должен делать разработчик?
Ответ на это есть в документации. TL;DR.: реакт не знает, как правильно сравнивать объекты списка, чтобы отличить вставку/удаление/замену отдельных элементов от полной замены списка, чтобы понять: весь список перерисовывать или часть? Если часть, то какую? А так — ответственность за корректное хэширование элементов остается программисту, обо всем остальном заботится реакт.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.