Дэн «наше всё» Абрамов разродился статьёй!
React for Two Computers
— Почему мой компонент работает в браузере, но не на сервере?
— Потому что у тебя теперь два компьютера. Привыкай.
💥 Что вообще происходит?
Раньше React жил в браузере и радовался жизни: всё происходило на клиенте, стейт в useState, кликнули — перерендерили.
А теперь у нас появился второй «компьютер» — сервер. С серверными компонентами, приватными API, тяжёлыми вычислениями и всем остальным. И теперь React — это не просто `f(state)
`, а f(data, state)
, где:
- data
— с сервера, рендерится один раз
- state
— в браузере, реагирует на действия пользователя
🧠 React теперь работает в двух мирах:
- Сервер — отвечает за данные, безопасность и тяжёлую работу
- Клиент — за мгновенные отклики, интерактив и состояние
Они живут в разных средах, но должны строить один интерфейс. И вот тут начинается веселье.
🧩 Но в чём подвох?
Абрамов говорит прямо: разделение компонентов на клиентские и серверные — это боль.
- Хочешь использовать хук? Прости, сервер не умеет
- Хочешь загрузить данные? Сервер умеет, но клиент не должен знать как
- Хочешь просто написать код? Удачи с этими use client
, use server
, границами, пропами и тайпингом
🧠 Примеры из статьи
- <Counter />
— типичный клиентский компонент. Быстрый отклик, стейт, интерактив
- <PostPreview />
— серверный. Может грузить пост из базы и вообще не попадать в бандл клиента
И вдруг возникает челлендж: а как показать список <PostPreview />
, а рядом <Counter />
для лайков? Как они будут жить вместе?
Ответ: через пропсы, границы, и много боли.
📦 React как Lego из серверных и клиентских кусочков
Абрамов не просто жалуется — он исследует. Он пытается найти модель мышления, при которой:
- Ты не дублируешь код
- UI остаётся отзывчивым
- Компоненты переиспользуемы
- И при этом ты не хочешь сжечь проект через неделю
Он говорит: возможно, будущее React — это когда мы думаем не в терминах "компоненты", а в терминах "где этот кусок должен жить?"
🎥 Есть и видео!
Если лень читать или хочется живого контекста — Дэн рассказал всё это на конференции React Conf 2024.
Там много примеров и визуальных пояснений.
🧨 Финалим
«React теперь не просто библиотека для UI. Это **координация между двумя средами исполнения**. Между клиентом и сервером. И это сложно. Но в этом сила.»
Пока что — это боль.
Но если мы научимся думать в этой модели — React станет по-настоящему мощным инструментом для приложений нового поколения.
🔗 Читать статью целиком
📺 Смотреть видео React Conf 2024
#react #frontend #абрамов #servercomponents
>>Click here to continue<<
