useMemo hook
Memorizza un valore derivato finché non cambiano le dipendenze.
Esempio
function UserList({ users, query }) {
const filtered = useMemo(() => {
return users
.filter((user) => user.name.toLowerCase().includes(query.toLowerCase()))
.sort((a, b) => a.name.localeCompare(b.name));
}, [users, query]);
return html`${filtered.map((user) => html`<p>${user.name}</p>`)}`;
}Quando usarlo
Usalo per calcoli costosi, ordinamenti, trasformazioni di array e oggetti che passi a componenti figli.
useLayoutEffect - Hooks Wompo
Usa useLayoutEffect quando devi leggere o scrivere layout prima del paint.
useReducer - Hooks Wompo
Usa useReducer per stato con molte transizioni, logica testabile e aggiornamenti prevedibili.