客户端 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 是一个回调函数,而