<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>
属性
名称 | 类型 | 描述 |
---|---|---|
fallback | JSX.Element | ((err: any, reset: () => void) => JSX.Element) | 当捕获到错误时要渲染的后备内容。 |