安装组件后,如果道具要求,我正在尝试播放动画。但是我的裁判似乎在setTimeout之后被重置为null。
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(() => {
但是我很好奇为什么在setTimeout之后会发生这种情况。
答案 0 :(得分:0)
发生这种情况的原因是,在useEffect
的第二个参数中,您只是将空数组[]
放入了它,应该在useEffect的第二个参数中添加onShow