Skip to content

Class: PlayErrorBoundary

Documentation / @xmachines/play-react / PlayErrorBoundary

Defined in: packages/play-react/src/PlayErrorBoundary.tsx:49

React class component error boundary for catching catalog component render errors.

Wraps catalog component renders so failures are caught and forwarded to standard React error boundary protocol. Consumers can attach the onError prop to forward errors to production observability tools (Sentry, Datadog, etc.).

Per CONS-14: Class component pattern works with all React versions (18 and 19).

Example

<PlayErrorBoundary fallback={<div>Something went wrong</div>} onError={Sentry.captureException}>
<CatalogComponent {...props} />
</PlayErrorBoundary>

Extends

Constructors

Constructor

new PlayErrorBoundary(props): PlayErrorBoundary;

Defined in: packages/play-react/src/PlayErrorBoundary.tsx:53

Parameters

ParameterType
propsPlayErrorBoundaryProps

Returns

PlayErrorBoundary

Overrides

React.Component<
PlayErrorBoundaryProps,
PlayErrorBoundaryState
>.constructor

Properties

PropertyModifierTypeDescriptionInherited fromDefined in
contextpublicunknownIf using React Context, re-declare this in your class to be the React.ContextType of your static contextType. Should be used with type annotation or static contextType. Example 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> See React DocsReact.Component.contextnode_modules/@types/react/index.d.ts:955
propsreadonlyReadonly<P>-React.Component.propsnode_modules/@types/react/index.d.ts:979
statepublicReadonly<S>-React.Component.statenode_modules/@types/react/index.d.ts:980
contextType?staticContext<any>If set, this.context will be set at runtime to the current value of the given Context. Example 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}</>; } } See https://react.dev/reference/react/Component#static-contexttypeReact.Component.contextTypenode_modules/@types/react/index.d.ts:931
propTypes?staticanyIgnored by React. Deprecated Only kept in types for backwards compatibility. Will be removed in a future major release.React.Component.propTypesnode_modules/@types/react/index.d.ts:937

Methods

componentDidCatch()

componentDidCatch(error, info): void;

Defined in: packages/play-react/src/PlayErrorBoundary.tsx:62

Catches exceptions generated in descendant components. Unhandled exceptions will cause the entire component tree to unmount.

Parameters

ParameterType
errorError
infoErrorInfo

Returns

void

Overrides

React.Component.componentDidCatch;

componentDidMount()?

optional componentDidMount(): void;

Defined in: node_modules/@types/react/index.d.ts:1198

Called immediately after a component is mounted. Setting state here will trigger re-rendering.

Returns

void

Inherited from

React.Component.componentDidMount;

componentDidUpdate()?

optional componentDidUpdate(
prevProps,
prevState,
snapshot?): void;

Defined in: node_modules/@types/react/index.d.ts:1261

Called immediately after updating occurs. Not called for the initial render.

The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

Parameters

ParameterType
prevPropsReadonly<P>
prevStateReadonly<S>
snapshot?any

Returns

void

Inherited from

React.Component.componentDidUpdate;

componentWillMount()?

optional componentWillMount(): void;

Defined in: node_modules/@types/react/index.d.ts:1277

Called immediately before mounting occurs, and before Component.render. Avoid introducing any side-effects or subscriptions in this method.

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked.

Returns

void

Deprecated

16.3, use componentDidMount or the constructor instead; will stop working in React 17

See

Inherited from

React.Component.componentWillMount;

componentWillReceiveProps()?

optional componentWillReceiveProps(nextProps, nextContext): void;

Defined in: node_modules/@types/react/index.d.ts:1308

Called when the component may be receiving new props. React may call this even if props have not changed, so be sure to compare new and existing props if you only want to handle changes.

Calling Component.setState generally does not trigger this method.

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked.

Parameters

ParameterType
nextPropsReadonly<P>
nextContextany

Returns

void

Deprecated

16.3, use static getDerivedStateFromProps instead; will stop working in React 17

See

Inherited from

React.Component.componentWillReceiveProps;

componentWillUnmount()?

optional componentWillUnmount(): void;

Defined in: node_modules/@types/react/index.d.ts:1214

Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as cancelled network requests, or cleaning up any DOM elements created in componentDidMount.

Returns

void

Inherited from

React.Component.componentWillUnmount;

componentWillUpdate()?

optional componentWillUpdate(
nextProps,
nextState,
nextContext): void;

Defined in: node_modules/@types/react/index.d.ts:1340

Called immediately before rendering when new props or state is received. Not called for the initial render.

Note: You cannot call Component.setState here.

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked.

Parameters

ParameterType
nextPropsReadonly<P>
nextStateReadonly<S>
nextContextany

Returns

void

Deprecated

16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

See

Inherited from

React.Component.componentWillUpdate;

forceUpdate()

forceUpdate(callback?): void;

Defined in: node_modules/@types/react/index.d.ts:976

Parameters

ParameterType
callback?() => void

Returns

void

Inherited from

React.Component.forceUpdate;

getSnapshotBeforeUpdate()?

optional getSnapshotBeforeUpdate(prevProps, prevState): any;

Defined in: node_modules/@types/react/index.d.ts:1255

Runs before React applies the result of render to the document, and returns an object to be given to componentDidUpdate. Useful for saving things such as scroll position before render causes changes to it.

Note: the presence of this method prevents any of the deprecated lifecycle events from running.

Parameters

ParameterType
prevPropsReadonly<P>
prevStateReadonly<S>

Returns

any

Inherited from

React.Component.getSnapshotBeforeUpdate;

render()

render(): ReactNode;

Defined in: packages/play-react/src/PlayErrorBoundary.tsx:67

Returns

ReactNode

Overrides

React.Component.render;

setState()

setState<K>(state, callback?): void;

Defined in: node_modules/@types/react/index.d.ts:971

Type Parameters

Type Parameter
K extends keyof PlayErrorBoundaryState

Parameters

ParameterType
state| PlayErrorBoundaryState | ((prevState, props) => | PlayErrorBoundaryState | Pick<PlayErrorBoundaryState, K> | null) | Pick<PlayErrorBoundaryState, K> | null
callback?() => void

Returns

void

Inherited from

React.Component.setState;

shouldComponentUpdate()?

optional shouldComponentUpdate(
nextProps,
nextState,
nextContext): boolean;

Defined in: node_modules/@types/react/index.d.ts:1209

Called to determine whether the change in props and state should trigger a re-render.

Component always returns true. PureComponent implements a shallow comparison on props and state and returns true if any props or states have changed.

If false is returned, Component.render, componentWillUpdate and componentDidUpdate will not be called.

Parameters

ParameterType
nextPropsReadonly<P>
nextStateReadonly<S>
nextContextany

Returns

boolean

Inherited from

React.Component.shouldComponentUpdate;

UNSAFE_componentWillMount()?

optional UNSAFE_componentWillMount(): void;

Defined in: node_modules/@types/react/index.d.ts:1292

Called immediately before mounting occurs, and before Component.render. Avoid introducing any side-effects or subscriptions in this method.

This method will not stop working in React 17.

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked.

Returns

void

Deprecated

16.3, use componentDidMount or the constructor instead

See

Inherited from

React.Component.UNSAFE_componentWillMount;

UNSAFE_componentWillReceiveProps()?

optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void;

Defined in: node_modules/@types/react/index.d.ts:1326

Called when the component may be receiving new props. React may call this even if props have not changed, so be sure to compare new and existing props if you only want to handle changes.

Calling Component.setState generally does not trigger this method.

This method will not stop working in React 17.

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked.

Parameters

ParameterType
nextPropsReadonly<P>
nextContextany

Returns

void

Deprecated

16.3, use static getDerivedStateFromProps instead

See

Inherited from

React.Component.UNSAFE_componentWillReceiveProps;

UNSAFE_componentWillUpdate()?

optional UNSAFE_componentWillUpdate(
nextProps,
nextState,
nextContext): void;

Defined in: node_modules/@types/react/index.d.ts:1356

Called immediately before rendering when new props or state is received. Not called for the initial render.

Note: You cannot call Component.setState here.

This method will not stop working in React 17.

Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked.

Parameters

ParameterType
nextPropsReadonly<P>
nextStateReadonly<S>
nextContextany

Returns

void

Deprecated

16.3, use getSnapshotBeforeUpdate instead

See

Inherited from

React.Component.UNSAFE_componentWillUpdate;

getDerivedStateFromError()

static getDerivedStateFromError(error): PlayErrorBoundaryState;

Defined in: packages/play-react/src/PlayErrorBoundary.tsx:58

Parameters

ParameterType
errorError

Returns

PlayErrorBoundaryState