Комментарии 5
Граждане разработчики, «посчастливилось» познакомиться с этим самым React, итак, не кидайтесь помидорами:
Общий «дизайн», он не понятный, ты не можешь как в нормальных, продуманных инструментах, легко понять, что это делается вот после этого, ибо это логично и красиво.
Костыльньность. Сохранение постоянных переменных через useState - костыль, «модные» хуки - костыли, они повсюду. Костыли by design.
Там тяжело с общепринятым ООП. Не так давно авторы React объявили, что классы это устаревший способ структурирования, ибо их плохо понимают разработчики(!). Сейчас нужно все на функциях. Строительные блоки React это stateless функции! Что требует мышления уже в функциональном стиле. Граждане! Даже наследование через прототипы в JS гораздо проще понять разработчику, чем функциональное программирование. В JS сейчас есть нормальные классы кстати, можно без прототипов. В документации и примерах теперь разнобой, много примеров на классах, но они их уже не рекомендуют, на функциях меньше.
Постоянное дергание функций. Эти самые функции «движок» React-а постоянно перегружает, причём нужно докопываться, когда он будет делать это, а когда нет. Ибо только после перегрузки useState переменные гарантированно присваиваются, так как их присваивание, опа, асинхронное. Из-за перегрузок легко словить loop-ы.
В итоге, я ожидал увидеть красивый, зрелый, удобный инструмент от именитой компании, а получилось разочарование.
Опыт был получен в результате создания небольшого приложения на React, которое показывает формы, «ходит» по Rest-сервисам.
Новые функциональные возможности Suspense
У mobx в документации есть старое предупреждение, которое врезалось в память:
In general, we recommend to not resort to MobX observables for local component state too quickly, as this can theoretically lock you out of some features of React's Suspense mechanism
Никто не сталкивался с какими-то проблемами на практике? Просто много где используем useLocalObservable, есть подозрение что может что-то не сростись при обновлении реакта.
React 18