是否使用 useState 来反应原生动画 => new Animated.Value() ?

Rom*_*lle 9 react-native react-hooks

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

是否使用 useState() ?

const [fadeAnim] = useState(new Animated.Value(0))
Run Code Online (Sandbox Code Playgroud)

或者

const fadeAnim = new Animated.Value(0)
Run Code Online (Sandbox Code Playgroud)

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

谢谢

Éli*_*lie 7

我最近一直在使用这个:

const [fadeAnim] = useState(() => new Animated.Value(0));
Run Code Online (Sandbox Code Playgroud)

对于设定值的标准:

fadeAnim.setValue(0);
Run Code Online (Sandbox Code Playgroud)

另外,您可能也想看看useRef,因为这是文档推荐的内容:

const fadeAnim = useRef(new Animated.Value(0)).current;
/* 
... 
*/
fadeAnim.setValue(0);
Run Code Online (Sandbox Code Playgroud)


小智 4

实际上,Hook是一个更好的方法,所以我会说首选

  • 你能解释一下为什么吗?在没有“setX”的情况下使用 useState 似乎有点奇怪 (2认同)