HOC wrapper around React.memo with in-depth property comparison.
yarn add with-memo
# or
npm install with-memo --save
Example:
import { FC } from "react";
import withMemo from "with-memo";
const Example: FC<{ name: string; count: number }> = ({ name, count }) => (
<div>
{name}
<div>{count}</div>
</div>
);
export default withMemo(Example, ["name"]);
with-memo
returns the memoized Component using React.memo
and uses the function to deeply compare the properties of the Component.
The withMemo
function is a simple wrapper that needs to compare a specific set of Component's props with a deep comparison.
The withMemo
function accepts the properties Component
and checkedProps
.
function withMemo<P extends object>(Component: FunctionComponent<P>, checkedProps: ReadonlyArray<string>): NamedExoticComponent<P>
A readonly array with a list of props name to be checked in React.memo
.
If the array is empty, then all props will be checked.
This library is built using TypeScript.
You can find the exported TypeScript definitions in withMemo.d.ts
.