Type Parameters

  • P = {}

  • S = {}

  • SS = any

Hierarchy

Constructors

  • Type Parameters

    • P = {}

    • S = {}

    • SS = any

    Parameters

    Returns Component<P, S, SS>

  • Type Parameters

    • P = {}

    • S = {}

    • SS = any

    Parameters

    • props: P
    • context: any

    Returns Component<P, S, SS>

Methods

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

    Parameters

    Returns void

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

    Returns 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

  • 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

  • Parameters

    • Optional callback: (() => void)
        • (): void
        • Returns void

    Returns void

  • 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 getSnapshotBeforeUpdate prevents any of the deprecated lifecycle events from running.

    Parameters

    Returns null | SS

  • Returns ReactNode

  • Type Parameters

    • K extends string | number | symbol

    Parameters

    • state: null | S | ((prevState, props) => null | S | Pick<S, K>) | Pick<S, K>
    • Optional callback: (() => void)
        • (): void
        • Returns void

    Returns void

  • 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

Properties

context: unknown

If using the new style 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.

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

https://react.dev/reference/react/Component#context

props: Readonly<P>
refs: {
    [key: string]: ReactInstance;
}

Type declaration

state: Readonly<S>
contextType?: Context<any>

If set, this.context will be set at runtime to the current value of the given Context.

Usage:

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