Repository URL to install this package:
|
Version:
3.1.7 ▾
|
| .. |
| dist |
| src |
| types |
| LICENSE |
| README.md |
| package.json |
A memoization function that uses a WeakMap
yarn add @emotion/weak-memoize
Because @emotion/weak-memoize uses a WeakMap the argument must be a non primitive type, e.g. objects, functions, arrays and etc. The function passed to weakMemoize must also only accept a single argument.
import weakMemoize from '@emotion/weak-memoize' let doThing = weakMemoize(({ someProperty }) => { return { newName: someProperty } }) let obj = { someProperty: true } let firstResult = doThing(obj) let secondResult = doThing(obj) firstResult === secondResult // true let newObj = { someProperty: true } let thirdResult = doThing(newObj) thirdResult === firstResult // false