文档龙客户端接口
Docusaurus 在客户端上提供了一些 api,可以帮助您构建站点。
组件
<ErrorBoundary />
这个组件创建了一个React 错误边界。
使用它来包装可能抛出的组件,并在发生这种情况时显示回退,而不是使整个应用程序崩溃。
import React from "react";
import ErrorBoundary from "@docusaurus/ErrorBoundary";
const SafeComponent = () => (
<ErrorBoundary
fallback={({ error, tryAgain }) => (
<div>
<p>This component crashed because of error: {error.message}.</p>
<button onClick={tryAgain}>Try Again!</button>
</div>
)}
>
<SomeDangerousComponentThatMayThrow />
</ErrorBoundary>
);
提示
要查看它的实际效果,请点击这里:
信息
Docusaurus 使用这个组件来捕捉主题布局中的错误,以及整个应用程序中的错误。
备注
该组件不捕获构建时错误,只防止使用有状态 React 组件时可能发生的客户端呈现错误。
Props
fallback
: 一个可选的渲染回调,返回一个 JSX 元素。它将接收一个具有 2 个属性的对象:error
,捕获到的错误,tryAgain
,一个函数(()=> void
)回调,用于重置组件中的错误并尝试再次呈现它。如果不存在,@theme/Error
将被渲染。@theme/Error
用于在布局上方包装站点的错误边界。
警告
fallback
prop 是一个回调,而不是一个 React 的功能组件。你不能在这个回调中使用 React 钩子。
<Head/>
这个可重用的 React 组件将管理对文档头部的所有更改。它接受纯 HTML 标记并输出纯 HTML 标记,对初学者很友好。它是一个包装React 头盔。
使用的例子:
import React from "react";
import Head from "@docusaurus/Head";
const MySEO = () => (
<Head>
<meta property="og:description" content="My custom description" />
<meta charSet="utf-8" />
<title>My Title</title>
<link rel="canonical" href="http://mysite.com/example" />
</Head>
);
嵌套组件或后期组件将覆盖重复的用法:
<Parent>
<Head>
<title>My Title</title>
<meta name="description" content="Helmet application" />
</Head>
<Child>
<Head>
<title>Nested Title</title>
<meta name="description" content="Nested component" />
</Head>
</Child>
</Parent>
输出:
<head>
<title>Nested Title</title>
<meta name="description" content="Nested component" />
</head>