如何自定义 hooks
-
我这样自定义了一个 hooks 页面直接卡死了,浏览器的标签页都不能关掉。我这样定义的方式是不是弄错了呀,应该如何自定义hooks呢
export const useWindowWidth = () => { const [innerWidth, setInnerWidth] = useState(0); useEffect(() => { setInnerWidth(window.innerWidth); window.onresize = () => { setInnerWidth(window.innerWidth); }; return () => { window.onresize = () => {}; }; }); return innerWidth; };
-
最后发现一直在执行这段代码,所以把浏览器卡住了。需要在useEffect里面加个 [0]的参数只执行一次就好了
setInnerWidth(window.innerWidth);