eslint-plugin-react-memo

0.0.3 • Public • Published

eslint-plugin-react-memo

Enforce that all function components are wrapped in React.memo, and that all props and deps are wrapped in useMemo/useCallback so they don’t break memo.

Rationale: Why we memo all the things.

Rules

require-memo

Requires all function components to be wrapped in React.memo().

require-usememo

Requires complex values (objects, arrays, functions, and JSX) that get passed props or referenced as a hook dependency to be wrapped in React.useMemo() or React.useCallback().

Options:

  • {strict: true}: Fails even in cases where it is difficult to determine if the value in question is a primitive (string or number) or a complex value (object, array, etc.).

require-usememo-children (ADVANCED)

Requires complex values (objects, arrays, functions, and JSX) that get passed as children to be wrapped in React.useMemo() or React.useCallback().

Options:

  • {strict: true}: Fails even in cases where it is difficult to determine if the value in question is a primitive (string or number) or a complex value (object, array, etc.).

Dependencies (0)

    Dev Dependencies (11)

    Package Sidebar

    Install

    npm i eslint-plugin-react-memo

    Weekly Downloads

    4,970

    Version

    0.0.3

    License

    MIT

    Unpacked Size

    18 kB

    Total Files

    5

    Last publish

    Collaborators

    • steadicat