Class AutoSizer<T>

A component that automatically resizes its children based on its parent element's size.

Type Parameters

  • T extends unknown = object

Hierarchy

  • Component<IAutoSizerProps<T>, State>
    • AutoSizer

Constructors

  • Type Parameters

    • T extends unknown = object

    Parameters

    • props: IAutoSizerProps<T> | Readonly<IAutoSizerProps<T>>

    Returns AutoSizer<T>

  • Type Parameters

    • T extends unknown = object

    Parameters

    • props: IAutoSizerProps<T>
    • context: any

    Returns AutoSizer<T>

Properties

_autoSizer?: null | HTMLElement
_detectElementResize?: DetectElementResize
_parentNode?: HTMLElement
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>
lastHeightRequest: ((h: number) => number) = ...
lastWidthRequest: ((w: number) => number) = ...
props: Readonly<IAutoSizerProps<T>>
refs: {
    [key: string]: ReactInstance;
}
state: {
    childHeight: number;
    childWidth: number;
    height: number;
    width: number;
} = ...

Represents the state of a component.

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}</>;
}
}
defaultProps: Partial<IAutoSizerProps<any>> = ...

Default properties for the AutoSizer component.

Methods

  • 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

    • nextProps: Readonly<IAutoSizerProps<T>>
    • nextContext: any

    Returns void

  • Sets the reference to the autoSizer element.

    Parameters

    • autoSizer: null | HTMLElement

      The autoSizer element or null.

    Returns void

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

    Parameters

    • error: Error
    • errorInfo: ErrorInfo

    Returns void

  • Executes after the component has been mounted to the DOM. It sets up the element for resizing and calls the resize event handler.

    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

    • prevProps: Readonly<IAutoSizerProps<T>>
    • prevState: Readonly<State>
    • Optionalsnapshot: any

    Returns void

  • This method is invoked immediately before a component is unmounted and destroyed.

    It removes the resize listener if it exists and the parent node is defined.

    Returns void

  • Parameters

    • Optionalcallback: (() => 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

    • prevProps: Readonly<IAutoSizerProps<T>>
    • prevState: Readonly<State>

    Returns any

  • Renders a container div with specified child parameters and styles.

    Returns Element

    • The rendered container div element.
  • Type Parameters

    • K extends keyof State

    Parameters

    • state:
          | null
          | State
          | ((prevState: Readonly<State>, props: Readonly<IAutoSizerProps<T>>) => null | State | Pick<State, K>)
          | Pick<State, K>
    • Optionalcallback: (() => void)
        • (): void
        • Returns void

    Returns void

  • Determines whether the component should update based on the changes in the nextProps and nextState.

    Parameters

    • nextProps: IAutoSizerProps<T>

      The next props that will be received by the component.

    • nextState: State

      The next state that will be set in the component.

    Returns boolean

    • Returns true if the component should update, otherwise false.