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
Component<PlayErrorBoundaryProps,PlayErrorBoundaryState>
Constructors
Constructor
new PlayErrorBoundary(props): PlayErrorBoundary;Defined in: packages/play-react/src/PlayErrorBoundary.tsx:53
Parameters
| Parameter | Type |
|---|---|
props | PlayErrorBoundaryProps |
Returns
PlayErrorBoundary
Overrides
React.Component< PlayErrorBoundaryProps, PlayErrorBoundaryState>.constructorProperties
| Property | Modifier | Type | Description | Inherited from | Defined in |
|---|---|---|---|---|---|
context | public | unknown | If 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 Docs | React.Component.context | node_modules/@types/react/index.d.ts:955 |
props | readonly | Readonly<P> | - | React.Component.props | node_modules/@types/react/index.d.ts:979 |
state | public | Readonly<S> | - | React.Component.state | node_modules/@types/react/index.d.ts:980 |
contextType? | static | Context<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-contexttype | React.Component.contextType | node_modules/@types/react/index.d.ts:931 |
propTypes? | static | any | Ignored by React. Deprecated Only kept in types for backwards compatibility. Will be removed in a future major release. | React.Component.propTypes | node_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
| Parameter | Type |
|---|---|
error | Error |
info | ErrorInfo |
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
| Parameter | Type |
|---|---|
prevProps | Readonly<P> |
prevState | Readonly<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
- https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state
- https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path
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
| Parameter | Type |
|---|---|
nextProps | Readonly<P> |
nextContext | any |
Returns
void
Deprecated
16.3, use static getDerivedStateFromProps instead; will stop working in React 17
See
- https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props
- https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path
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
| Parameter | Type |
|---|---|
nextProps | Readonly<P> |
nextState | Readonly<S> |
nextContext | any |
Returns
void
Deprecated
16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17
See
- https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update
- https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path
Inherited from
React.Component.componentWillUpdate;forceUpdate()
forceUpdate(callback?): void;Defined in: node_modules/@types/react/index.d.ts:976
Parameters
| Parameter | Type |
|---|---|
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
| Parameter | Type |
|---|---|
prevProps | Readonly<P> |
prevState | Readonly<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
| Parameter | Type |
|---|---|
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
| Parameter | Type |
|---|---|
nextProps | Readonly<P> |
nextState | Readonly<S> |
nextContext | any |
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
- https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state
- https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path
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
| Parameter | Type |
|---|---|
nextProps | Readonly<P> |
nextContext | any |
Returns
void
Deprecated
16.3, use static getDerivedStateFromProps instead
See
- https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props
- https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path
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
| Parameter | Type |
|---|---|
nextProps | Readonly<P> |
nextState | Readonly<S> |
nextContext | any |
Returns
void
Deprecated
16.3, use getSnapshotBeforeUpdate instead
See
- https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update
- https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path
Inherited from
React.Component.UNSAFE_componentWillUpdate;getDerivedStateFromError()
static getDerivedStateFromError(error): PlayErrorBoundaryState;Defined in: packages/play-react/src/PlayErrorBoundary.tsx:58
Parameters
| Parameter | Type |
|---|---|
error | Error |