useRef warning

The final argument passed to useEffect changed size between renders. The order and size of this array must remain constant.

为什么设计上有这样的警告呢?其本质原因恐怕还需要探究一下。(大致猜得到,但恐怕准备的还要再查一下)

先谈谈解决方案:

如果我们需要依赖的对象是一个数字或字符串,那么最简单的方式 Array.join() 方法:

useEffect(() => {
  animate(pose);
}, [pose.join(",")]);

因此,有别于输入

["visible", "hidden"];

你现在的输入是

["visible,hidden"];

这样你就可以愉快的使用useEffect了

最后更新于