Как уменьшить вызовы рендеринга, если мне нужно обновить два разных состояния в функции setTimeout или async. Похоже, что эти два набора вызовов не будут пакетными.
И я не хочу объединять два состояния в одно.
// render once!
function Component () {
const [a, setA] = useState(0);
const [b, setB] = useState(0);
const update = () => { setA(1); setB(1); }
useEffect(() => { update() }, []);
return (<div>{a}{b}</div>);
}
// render twice!
function Component () {
const [a, setA] = useState(0);
const [b, setB] = useState(0);
const update = () => { setA(1); setB(1); }
useEffect(() => {
setTimeout(() => { update(); })
}, []);
return (<div>{a}{b}</div>);
}