Skip to content

Instantly share code, notes, and snippets.

@srph
Created July 10, 2022 09:29
Show Gist options
  • Save srph/53dc6919b8a9ee3167f6ec1c51af9fe2 to your computer and use it in GitHub Desktop.
Save srph/53dc6919b8a9ee3167f6ec1c51af9fe2 to your computer and use it in GitHub Desktop.
React: Inline useMemo

Inline useMemo

Useful for arrays... probably

Usage

<Memoize value={() => expensiveComputation(a, b, c)} deps={[a, b, c]} />
import React, { useState, useEffect } from 'react'
interface MemoizeProps<T, Y extends unknown> {
value: () => T
dependencies: Y[]
}
const Memoize = ({ value, dependencies }) => {
const [state, setState] = useState(value)
useEffect(() => {
setState(value())
}, dependencies)
return state
}
export { Memoize }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment