Компоненты React на сервере
Разберитесь, что такое RSC, чем они отличаются от клиентских компонентов и когда использовать каждый вариант.
«Компоненты React на сервере» — бесплатный урок React Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения React Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс React Academy содержит 4 уроков всего.
Добро пожаловать
Два мира компонентов
Серверные компоненты по умолчанию
// Server Component (default, no directive needed)
export default async function Page() {
const data = await fetch('/api/posts').then(r => r.json());
return <ul>{data.map(p => <li key={p.id}>{p.title}</li>)}</ul>;
}Клиентские компоненты
'use client';
import { useState } from 'react';
export function Counter() {
const [n, setN] = useState(0);
return <button onClick={() => setN(n+1)}>{n}</button>;
}Возможности серверных компонентов
// Fetch from DB directly in the component!
import { db } from '@/lib/db';
export default async function UserList() {
const users = await db.select().from(usersTable);
return <ul>{users.map(u => <li key={u.id}>{u.name}</li>)}</ul>;
}Ограничения серверных компонентов
Сочетание серверных и клиентских компонентов
// Server Component
export default async function Page() {
const user = await getUser();
return <ProfileEditor user={user} />; // client component
}
// Client Component (separate file)
'use client';
export function ProfileEditor({ user }) {
const [name, setName] = useState(user.name);
return <input value={name} onChange={e => setName(e.target.value)} />;
}Правило границы клиента
Ноль JavaScript для серверных компонентов
Серверные компоненты и SSR
Быстрая проверка
Итоги
Далее
Часто задаваемые вопросы
Урок «Компоненты React на сервере» бесплатный?
Да — полный текст урока «Компоненты React на сервере» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс React Academy, подпишись на CoddyKit PRO. Курс React Academy содержит 4 уроков всего.
Чему я научусь в уроке «Компоненты React на сервере»?
Разберитесь, что такое RSC, чем они отличаются от клиентских компонентов и когда использовать каждый вариант. Ты практикуешь React Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать React Academy?
Предыдущий опыт не требуется. React Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Компоненты React на сервере»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке React Academy?
Да. Каждый урок React Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Компоненты React на сервере
- Хук use() для асинхронных ресурсов
- Действия React и useActionState
- useOptimistic для мгновенной обратной связи