Ответ
Недавно начал изучать React Server Components (RSC). Они позволяют выполнять часть логики на сервере, уменьшая размер клиентского кода и улучшая производительность. Особенно впечатлила возможность смешивать серверные и клиентские компоненты в одном приложении.
Пример:
// Серверный компонент (не имеет состояния, не использует хуки)
export default function ServerComponent() {
const data = await fetchData(); // Запрос на сервере
return <ClientComponent data={data} />;
}
// Клиентский компонент (имеет интерактивность)
'use client';
function ClientComponent({ data }) {
const [count, setCount] = useState(0);
return <button onClick={() => setCount(c => c + 1)}>{data}: {count}</button>;
}
Пока есть нюансы (например, ограниченная совместимость с некоторыми библиотеками), но подход выглядит перспективным.