gpt4 book ai didi

javascript - 仅在选择渲染、useCallback 或 useEffect 时 react : Run handler,?

转载 作者:行者123 更新时间:2023-12-02 23:35:10 26 4
gpt4 key购买 nike

我想仅在变量 phone(见下文)更改时运行函数。

注意:useMediaQuery 按预期工作,每当屏幕尺寸更改为高于/低于 768 时,它就会启动重新渲染,并返回 true/false。

const phone = !useMediaQuery('(min-width:768px)'); // 768 and down: Smartphones

console.log('phone', phone);
useCallback(() => {
console.log('useCallback fired');
if (!phone) handleDrawerClose();
}, [phone])();

我的上述代码在每次重新渲染时都会在 useCallback 中触发回调。无论电话是否发生变化。我尝试了 useEffect 并且它部分有效。

为什么useCallback没有按预期工作?

这里最好的方法是什么?

最佳答案

useCallback 返回一个内存函数,然后您可以调用该函数。当你调用它时,它就会被执行。

What is the best approach here?

useEffect

关于javascript - 仅在选择渲染、useCallback 或 useEffect 时 react : Run handler,?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56318342/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com