Проверяет понимание React Server Components, их ограничений и отличий от клиентских компонентов для оценки опыта работы с современным React.
React Server Components (RSC) — это компоненты, которые выполняются исключительно на сервере во время рендеринга. Они отправляют клиенту уже готовый HTML, без необходимости загружать и выполнять JavaScript для этих компонентов. Это позволяет значительно уменьшить размер бандла и ускорить загрузку страницы, особенно для статического или редко изменяющегося контента.
Основные ограничения RSC связаны с тем, что они не имеют доступа к среде браузера. Вот ключевые различия:
useState, useEffect, useReducer и другие хуки, которые зависят от клиентского состояния или жизненного цикла.onClick, onChange и другие события, так как они требуют JavaScript на клиенте.window, document, localStorage и другие API.async/await в том же виде, что и клиентские компоненты.Пример серверного компонента, который загружает данные и рендерит их:
// ServerComponent.jsx (выполняется на сервере)
import { getPosts } from './api';
export default async function ServerComponent() {
const posts = await getPosts();
return (
{posts.map(post => (
{post.title}
))}
);
}Пример клиентского компонента с интерактивностью:
// ClientComponent.jsx (выполняется в браузере)
'use client';
import { useState } from 'react';
export default function ClientComponent() {
const [count, setCount] = useState(0);
return (
setCount(count + 1)}>
Clicked {count} times
);
}React Server Components полезны для оптимизации производительности за счет уменьшения объема JavaScript, но их следует применять только для статического или серверного контента. Для интерактивных элементов обязательно используйте клиентские компоненты с директивой 'use client'.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию