Class: PureComponent<P = { }, S = { }, SS = any>
Extends
Component<P,S,SS>
Type Parameters
Constructors
Constructor
new PureComponent<
P= { },S= { },SS=any>(props:P):PureComponent<P,S,SS>
Parameters
Returns
PureComponent<P, S, SS>
Inherited from
Constructor
new PureComponent<
P= { },S= { },SS=any>(props:P,context:any):PureComponent<P,S,SS>
Parameters
Returns
PureComponent<P, S, SS>
Inherited from
Properties
context
context:
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
See
Inherited from
props
readonlyprops:Readonly<P>
Inherited from
state
state:
Readonly<S>
Inherited from
contextType?
staticoptionalcontextType?:Context<any>
If set, this.context will be set at runtime to the current value of the given Context.
Example
See
https://react.dev/reference/react/Component#static-contexttype
Inherited from
propTypes?
staticoptionalpropTypes?:any
Ignored by React.
Deprecated
Only kept in types for backwards compatibility. Will be removed in a future major release.
Inherited from
Methods
componentDidCatch()?
optionalcomponentDidCatch(error:Error,errorInfo:ErrorInfo):void
Catches exceptions generated in descendant components. Unhandled exceptions will cause the entire component tree to unmount.
Parameters
Returns
void
Inherited from
componentDidMount()?
optionalcomponentDidMount():void
Called immediately after a component is mounted. Setting state here will trigger re-rendering.
Returns
void
Inherited from
componentDidUpdate()?
optionalcomponentDidUpdate(prevProps:Readonly<P>,prevState:Readonly<S>,snapshot?:SS):void
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
Returns
void
Inherited from
componentWillMount()?
optionalcomponentWillMount():void
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
componentWillReceiveProps()?
optionalcomponentWillReceiveProps(nextProps:Readonly<P>,nextContext:any):void
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
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
Component.componentWillReceiveProps
componentWillUnmount()?
optionalcomponentWillUnmount():void
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
Component.componentWillUnmount
componentWillUpdate()?
optionalcomponentWillUpdate(nextProps:Readonly<P>,nextState:Readonly<S>,nextContext:any):void
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
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
forceUpdate()
forceUpdate(
callback?: () =>void):void
Parameters
Returns
void
Inherited from
getSnapshotBeforeUpdate()?
optionalgetSnapshotBeforeUpdate(prevProps:Readonly<P>,prevState:Readonly<S>):SS|null
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
Returns
SS | null
Inherited from
Component.getSnapshotBeforeUpdate
render()
render():
ReactNode
Returns
ReactNode
Inherited from
setState()
setState<
Kextendsstring|number|symbol>(state:S| ((prevState:Readonly<S>,props:Readonly<P>) =>S|Pick<S,K> |null) |Pick<S,K> |null,callback?: () =>void):void
Type Parameters
Parameters
Returns
void
Inherited from
shouldComponentUpdate()?
optionalshouldComponentUpdate(nextProps:Readonly<P>,nextState:Readonly<S>,nextContext:any):boolean
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
Returns
boolean
Inherited from
Component.shouldComponentUpdate
UNSAFE_componentWillMount()?
optionalUNSAFE_componentWillMount():void
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
Component.UNSAFE_componentWillMount
UNSAFE_componentWillReceiveProps()?
optionalUNSAFE_componentWillReceiveProps(nextProps:Readonly<P>,nextContext:any):void
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
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
Component.UNSAFE_componentWillReceiveProps
UNSAFE_componentWillUpdate()?
optionalUNSAFE_componentWillUpdate(nextProps:Readonly<P>,nextState:Readonly<S>,nextContext:any):void
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
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