Встречается на собеседованиях • сегодня
Как реализовать загрузку контента в Suspense
Suspense позволяет отложить рендеринг компонента до завершения асинхронной операции. Для работы с ним нужно:
1. Обернуть асинхронный компонент в ``
2. Использовать `lazy` для динамического импорта или любой промис-ориентированный подход
Пример с React.lazy:
```jsx
import { Suspense, lazy } from 'react';
const LazyComponent = lazy(() => import('./Component'));
function App() {
return (
Loading...}>
);
}
```
Для кастомных асинхронных операций можно использовать библиотеки типа `react-query` или обернуть промис в компонент:
```jsx
function AsyncComponent({ promise }) {
if (promise.status === 'pending') throw promise;
if (promise.status === 'fulfilled') return
{promise.data}
;
throw new Error('Unexpected promise state');
}
```
Важно: Suspense пока экспериментальная фича для данных в React 18.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы