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