Components

<ErrorBoundary>

编辑此页面

捕获未处理的错误并渲染后备内容。

import { ErrorBoundary } from "solid-js"
import type { JSX } from "solid-js"
function ErrorBoundary(props: {
fallback: JSX.Element | ((err: any, reset: () => void) => JSX.Element)
children: JSX.Element
}): () => JSX.Element

以下是使用示例:

<ErrorBoundary fallback={<div>出现了严重错误</div>}>
<MyComp />
</ErrorBoundary>

如果你想自定义错误信息,你可以传递一个函数作为 fallback 属性。该函数将接收错误对象和一个 reset 函数作为参数。reset 函数将重置错误边界并重新渲染子组件。

<ErrorBoundary
fallback={(err, reset) => <div onClick={reset}>错误:{err.toString()}</div>}
>
<MyComp />
</ErrorBoundary>

属性

名称类型描述
fallbackJSX.Element | ((err: any, reset: () => void) => JSX.Element)当捕获到错误时要渲染的后备内容。
报告此页面问题