React Native/Typescript/Eslint 错误:类型“void”无法分配给类型“CompositeAnimation”

Geo*_*nca 2 animation typescript react-native

我是打字稿新手。linter 已经能够为我快速修复,但以下代码部分没有提供可供 linter 修复的快速操作:

问题消息是“类型‘void’无法分配给类型‘CompositeAnimation’.ts(2322)”

Animated.parallel([
     Animated.spring(this.position, {
         toValue: ({ x: 0, y: 0 }),
     }).start(),
     Animated.spring(this.swipeCardPosition, {
         toValue: ({ x: 0, y: -SCREEN_HEIGHT }),
     }).start(),
]).start();
Run Code Online (Sandbox Code Playgroud)

Tam*_*mas 6

我认为问题在于 Animated.parallel() 方法接受复合动画对象的数组。Animate.spring() 返回一个复合动画对象,但您对这两个动画调用 start() 方法,该方法的返回类型为 void。

尝试以下代码,我认为它应该相应地工作:

Animated.parallel([
 Animated.spring(this.position, {
     toValue: ({ x: 0, y: 0 }),
 }),
 Animated.spring(this.swipeCardPosition, {
     toValue: ({ x: 0, y: -SCREEN_HEIGHT }),
 }),
]).start();
Run Code Online (Sandbox Code Playgroud)

请注意,我没有启动弹簧动画,我只是启动了包含两个弹簧动画的“root”动画。

我希望它能帮助你。