useEffect传递的参数未定义



所以我是react hook的新手,似乎不理解useEffect是如何工作的。。。

我有一个钩子:

const [print, setPrint] = useState(false);

使用效果:

useEffect((x) => {
console.log("2nd => ",x)
}, [print]);

然后我有一个按钮功能:

const btnPrint = async () => {
let x = 1;
console.log("1st => ",x);
setPrint(true);
};

按下按钮后,输出为:

1st =>  1
2nd =>  undefined

为什么x在useEffect函数中显示为undefined

谢谢

useEffect函数将永远不会接收任何参数。它只是一个函数,当您指定的任何依赖项(在本例中为print的值(发生更改时,它将被调用。

这似乎不是一个useEffect钩子用例。你到底想在这里完成什么?

首先:CCD_ 4关键字声明块范围中的变量

这意味着它不能在btnPrint函数的块之外访问。

其次,useEffect是一个生命周期挂钩。这意味着它在安装或卸载组件时运行。如果传递一个空数组,它只运行一次。如果将引用数组传递给其他变量、函数等,则只要提供的变量发生更改,它就会运行。

最新更新