想象一下这个钩子每秒都会改变他的值,如果随机值是 5 的倍数则返回 true,否则返回 false。我该怎么做才能停止每秒重新渲染?
PS:我尝试使用 useMemo 和 useRef 始终返回相同的对象,但它仍在重新渲染。
请帮忙
const useRandomIs5x = () => {
const [state, setState] = useState(0);
useEffect(() => {
const t0 = setInterval(() => {
setState(getRandomValue())
}, 1000)
return () => clearInterval(to)
}, [])
return state % 5 === 0;
}
const Root = () => {
const bool = useRandomIs5x();
console.log("I'm re-rendering every second", bool)
return <div>test</div>
}
梵蒂冈之花
皈依舞
料青山看我应如是
临摹微笑
相关分类