客户端 API
道格龙(Docusaurus)在客户端上提供了一些 API,这些 API 在你构建网站时可能会很有帮助。
组件
<ErrorBoundary />
这个组件创建了一个 React 错误边界。
用它来包裹可能会抛出错误的组件,并在发生错误时显示一个 回退UI,而不是让整个应用崩溃。
import React from 'react';
import ErrorBoundary from '@docusaurus/ErrorBoundary';
const SafeComponent = () => (
<ErrorBoundary
fallback={({error, tryAgain}) => (
<div>
<p>这个组件因为错误而崩溃了:{error.message}.</p>
<button onClick={tryAgain}>再试一次!</button>
</div>
)}>
<SomeDangerousComponentThatMayThrow />
</ErrorBoundary>
);
提示
要看它的实际效果,请点击这里:
信息
道格龙(Docusaurus)使用此组件来捕获主题布局内部以及整个应用中的错误。
备注
此组件不会捕获构建时错误,仅能防护在使用有状态 React 组件时可能发生的客户端渲染错误。
Props
fallback
: 一个可选的渲染回调,返回一个 JSX 元素。它将接收一个包含 2 个属性的对象:error
,即捕获到的错误;以及tryAgain
,一个用于重置组件中的错误并尝试再次渲染它的函数 (() => void
) 回调。如果未提供,将改为渲染@theme/Error
。@theme/Error
用于包裹站点的错误边界,位于布局之上。
注意
fallback
prop 是一个回调函数,而