React native 动画和状态问题:在useEffect中使用Animated.spring
我是一名新的本地应用程序开发人员。React native 动画和状态问题:在useEffect中使用Animated.spring,react-native,React Native,我是一名新的本地应用程序开发人员。 我试图理解,如果我在链接的文本中取消注释行11setTest(false),为什么动画会停止工作 谢谢大家! 相关代码副本: 导出默认函数App(){ const element1=useRef(新的动画.ValueXY()).current; const element2=新的动画.ValueXY(); const[test,setTest]=useState(true); useffect(()=>{ //setTest(假); 设置超时(()=>{ 春
我试图理解,如果我在链接的文本中取消注释行11
setTest(false)
,为什么动画会停止工作
谢谢大家!
相关代码副本:
导出默认函数App(){
const element1=useRef(新的动画.ValueXY()).current;
const element2=新的动画.ValueXY();
const[test,setTest]=useState(true);
useffect(()=>{
//setTest(假);
设置超时(()=>{
春天(
要素2,
{
toValue:{x:-10,y:-100},
useNativeDriver:真的吗
}
).start();
}, 2000);
}, []);
返回(
);
}
setState函数用于更新状态。它接受一个新的状态值并使组件的重新呈现排队
请记住,当您更改组件的状态时,它会导致“重新渲染”,以便element2变量返回其初始值。要解决这个问题,在element2变量上使用“useRef”钩子,就像在element1上一样
const element2 = useRef(new Animated.ValueXY()).current;
“useRef”钩子将使变量在组件生命周期中保持不变,因此如果组件被重新呈现,它不会受到影响
useRef返回一个可变的ref对象,其.current属性初始化为传递的参数(initialValue)。返回的对象将在组件的整个生命周期内持续存在
setState函数用于更新状态。它接受一个新的状态值并使组件的重新呈现排队
请记住,当您更改组件的状态时,它会导致“重新渲染”,以便element2变量返回其初始值。要解决这个问题,在element2变量上使用“useRef”钩子,就像在element1上一样
const element2 = useRef(new Animated.ValueXY()).current;
“useRef”钩子将使变量在组件生命周期中保持不变,因此如果组件被重新呈现,它不会受到影响
useRef返回一个可变的ref对象,其.current属性初始化为传递的参数(initialValue)。返回的对象将在组件的整个生命周期内持续存在