Hooks: useMemo
Create a memoized state value. Only reruns the function when dependent values have changed.
import { component, html, useState, useMemo } from 'haunted';
function fibonacci(num) {
if (num <= 1) return 1;
return fibonacci(num - 1) + fibonacci(num - 2);
}
function App() {
const [value, setVal] = useState(12);
const fib = useMemo(() => fibonacci(value), [value]);
return html`
<h1>Fibonacci</h1>
<input type="number" max="35" step="1"
@change=${e => setVal(parseInt(e.target.value))}
value=${value} />
<div>Fibonacci <strong>${fib}</strong></div>
`;
}
customElements.define('use-memo', component(App));
<script type="module" src="use-memo.js"></script>
<use-memo></use-memo>
API
useMemo
Parameters
fn
() => T
function to memoize
values
unknown[]
dependencies to the memoized computation
Returns
T
Exports
import { useMemo } from 'haunted/lib/use-memo';