Русский
Открыть в Telegram

Пост Обработка ошибок в React Server Components

30 августа 2024
З
Заметки про React
Ссылка
нажмите — покажем
Обработка ошибок в React Server Components В серверных компонентах React могут возникать ошибки. Для их обработки можно использовать ErrorBoundary из react-error-boundary, который поддерживает восстановление ошибки и повторную попытку рендеринга. С помощью RSC и react-error-boundary можно реализовать повторный рендеринг. Пример компонента ErrorFallback, который выполняет повторный рендеринг по клику на кнопку: 'use client' import { startTransition, useState } from 'react' import { useRouter } from 'next/navigation' export default function ErrorFallback({ error, resetErrorBoundary, }: { error: Error resetErrorBoundary: () => void }) { const router = useRouter() // Стейт кнопки сброса const [isResetting, setIsResetting] = useState(false) function retry() { setIsResetting(true) startTransition(() => { router.refresh() resetErrorBoundary() setIsResetting(false) }) } return ( <button onClick={() => retry()}> {isResetting ? <Spinner /> : null} Retry </button> ) } Как видно из примера, используется router.refresh() для повторного рендера компонента, в котором произошла ошибка. На самом деле ре-рендерится вся страница, но пользователю кажется, что ре-рендерится только компонент с ошибкой. Т.к. router.refresh() долгая операция, которая не возвращает Promise, то для отслеживания выполнения она вызывается внутри startTransition. https://edspencer.net/2024/7/16/errors-and-retry-with-react-server-components
22 · 3.4K ·

Рядом в ленте

ЗЗаметки про ReactGoogle Translate может сломать React приложение Браузерное расширение Google Translate может сломать React приложение. Это связано с тем, что, когда расширение ЗЗаметки про ReactТипобезопасный REST API вместе с Zod При работе с REST API нельзя быть уверенным в том, что вернется в ответе запроса. Даже если используешь TypeScript и пишешь
это сообщение
ЗЗаметки про ReactСерверные функции в Tanstack Router В Tanstack Router появилась возможность использовать серверные функции. // getServerTime.ts import { createServerFn } from 'ЗЗаметки про React@svg-use для импорта SVG Библиотека @svg-use это набор инструментов и плагинов сборки для использования SVG с помощью механизма <use href>. Автор библиотеки хоч
ЗЗаметки про ReactЗаметки про React@ru_react_notes · канал · Технологии
3 412подписчиков491постов в индексе
Лента площадки Открыть в Telegram

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Границы индекса · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем