在设置超时后丢失 ref 在使用效果钩子



如果安装组件后道具要求,我正在尝试播放动画。但是我的参考似乎在设置超时后被重置为空。

let landingText = useRef(null);
useEffect(() => {
//ref shows div element here
setTimeout(() => {
//ref gets reset to null here
if (!onShow) {
playAnimation();
}
}, 1000);
}, []);

我已经通过添加一个新变量并将其向下传递来解决此问题 -

useEffect(() => {
const el = landingText;
setTimeout(() => {

但我很好奇为什么在设定超时后会发生这种情况。

发生这种情况是因为在第二个参数中useEffect你只是放置空数组[]它应该在useEffect的第二个参数中添加onShow

相关内容

  • 没有找到相关文章

最新更新