反应原生动画=>新的Animated.Value()与useState吗?

时间:2019-09-27 14:25:35

标签: react-native react-hooks

在react-native中使用Animated.Value()的最佳方法是什么?

是否具有useState()?

const [fadeAnim] = useState(new Animated.Value(0))

const fadeAnim = new Animated.Value(0)

本机文档:https://facebook.github.io/react-native/docs/animations

谢谢

3 个答案:

答案 0 :(得分:2)

我遇到了一个令人迷惑的UI错误,该错误中的设置挂钩值会立即在视图中呈现并弄乱动画。我通过将动画值放在useState挂钩中来解决此问题,如下所示:

之前:

const foo = new Animated.Value(1)

之后:

  const [foo] = useState(new Animated.Value(1));

答案 1 :(得分:1)

实际上,钩子是更好的方法,所以我要先选择

答案 2 :(得分:0)

我最近一直在使用它:

const [fadeAnim] = useState(() => new Animated.Value(0));

,对于设定值,标准:

fadeAnim.setValue(0);

此外,您可能还想看看useRef,因为这是documentation的建议:

const fadeAnim = useRef(new Animated.Value(0)).current;
/* 
... 
*/
fadeAnim.setValue(0);