Overcoming Popular Issues With React Projects — Dinosaurs With Jetpacks
Статья про типовые проблемы в проектах на React. Статья весьма субъективная, но вполне злободневная и со многим хочется согласиться.
Основная проблема React - это сообщество.
В статье на этот счет есть забавная цитата:
Second there is this immutable transducer reselect memoized concurrent proxy suspense state promotion society. Performance zealots obsessing over trillion renders per second. Which they don’t deliver, by the way.
Какие советы дает атвор:
- Не пишите на React (да и вообще на другом фреймоврке) если вам это не нужно. Простой JS код проще поддеррживать, тестировать и воспринимать. В целом совет звучит очень радикально, но, мне кажется, тут смылс в том, чтобы не завязываться на фреймворк там, где это не нужно.
- Избегать встроенных инструментов для управления стейтом
- Не складывать логику в кастомный хуки. Это сложно читать, сложно дебажить и сложно тестировать.
- Избегайте хайповых игрушек типа Suspense. Используйте скучные, проверенные инструменты.
И опять хорошая шутка от автора:
You know the joke about the Suspense? You know why is it called Suspense? It takes 4 years to release it.
- Избегайте культа иммутабельности. Полностью согласен с этим пунктом - иммутабельный код хорош только в языках, которые спроектированы под имутабельность. В нашем контексте код только усложняется, зачастую не принося большой пользы.
- Игнорируйте тех, кто разрабатывает фреймворки. Их советы хороши лишь в теоретических рассуждениях, но этим люди не умеют поддерживать большие реальные приложения и их советы зачастую вредны.
- Храните логику на бекенде. Используйте BFF. Это хорошо работает и это легко тестировтаь и дебажить.
Повторюсь, что статья очень субъективна. Но я в целом с ней согласен. В своих проектах я стараюсь форсить политику использования React только для рендера. Любую логику (запросы, логика приложения, подготовки данных) стараюсь выносить из компонентов в другие сущности.
