Useful for arrays... probably
<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 } |