继承关系

  • Component<RemixErrorBoundaryProps, RemixErrorBoundaryState>
    • UNSAFE_RemixErrorBoundary

构造函数

属性

context: unknown

如果使用新的 context 风格,请在您的类中重新声明此项为 static contextTypeReact.ContextType。应该与类型注解或 static contextType 一起使用。

static contextType = MyContext
// For TS pre-3.7:
context!: React.ContextType<typeof MyContext>
// For TS 3.7 and above:
declare context: React.ContextType<typeof MyContext>
props: Readonly<RemixErrorBoundaryProps>
refs: {
    [key: string]: ReactInstance;
}
state: Readonly<RemixErrorBoundaryState>
contextType?: Context<any>

如果设置,this.context 将在运行时设置为给定 Context 的当前值。

用法

type MyContext = number
const Ctx = React.createContext<MyContext>(0)

class Foo extends React.Component {
static contextType = Ctx
context!: React.ContextType<typeof Ctx>
render () {
return <>My context's value: {this.context}</>;
}
}

方法

  • 捕获在后代组件中生成的异常。未处理的异常将导致整个组件树卸载。

    参数

    • error: Error
    • errorInfo: ErrorInfo

    返回值 void

  • 在组件挂载后立即调用。在此处设置状态将触发重新渲染。

    返回值 void

  • 在更新发生后立即调用。不为初始渲染调用。

    仅当存在 getSnapshotBeforeUpdate 并且返回非 null 值时,才存在快照。

    参数

    • prevProps: Readonly<RemixErrorBoundaryProps>
    • prevState: Readonly<RemixErrorBoundaryState>
    • Optionalsnapshot: any

    返回值 void

  • 在组件销毁之前立即调用。在此方法中执行任何必要的清理,例如取消网络请求,或清理在 componentDidMount 中创建的任何 DOM 元素。

    返回值 void

  • 参数

    • Optionalcallback: (() => void)
        • (): void
        • 返回值 void

    返回值 void

  • 在 React 将 render 的结果应用到文档之前运行,并返回一个对象,该对象将提供给 componentDidUpdate。用于在 render 导致更改之前保存滚动位置等内容。

    注意:getSnapshotBeforeUpdate 的存在会阻止任何已弃用的生命周期事件运行。

    参数

    • prevProps: Readonly<RemixErrorBoundaryProps>
    • prevState: Readonly<RemixErrorBoundaryState>

    返回值 any

  • 返回值
        | undefined
        | null
        | string
        | number
        | boolean
        | Iterable<ReactNode>
        | Element

  • 类型参数

    • K extends keyof RemixErrorBoundaryState

    参数

    • state:
          | null
          | RemixErrorBoundaryState
          | ((prevState: Readonly<RemixErrorBoundaryState>, props: Readonly<RemixErrorBoundaryProps>) => null | RemixErrorBoundaryState | Pick<RemixErrorBoundaryState, K>)
          | Pick<RemixErrorBoundaryState, K>
    • Optionalcallback: (() => void)
        • (): void
        • 返回值 void

    返回值 void

  • 调用以确定 props 和 state 的更改是否应触发重新渲染。

    Component 始终返回 true。PureComponent 对 props 和 state 实现浅比较,如果任何 props 或 state 已更改,则返回 true。

    如果返回 false,则不会调用 Component#rendercomponentWillUpdatecomponentDidUpdate

    参数

    • nextProps: Readonly<RemixErrorBoundaryProps>
    • nextState: Readonly<RemixErrorBoundaryState>
    • nextContext: any

    返回值 boolean