反应原生 - 当"resetTo"路线时,没有动画

tal*_*952 2 react-native

我正在使用导航器组件.
我有飞溅场景,1秒后下一个场景正在显示.
我需要在启动结束后重置导航堆栈.
当我使用resetTo方法时,场景之间的过渡无需动画.
我该怎么做动画?

Sam*_* P. 5

您可以使用onDidFocusprop 对某些代码进行解决,并将对象传递navigator.push()给要处理的对象navigator.immediatelyResetRouteStack,如下所示:

renderScene(route, navigator) {
    switch (route.name) {
      case 'Home':
        return (<Home navigator={navigator} {...route.props} />);
      case 'User':
        return (<User navigator={navigator} {...route.props} />);
    }
  }

  render() {
    return (
      <View style={styles.container}>
        <Navigator
          ref='navigator'
          initialRoute={{ name: 'Home' }}
          renderScene={this.renderScene}
          onDidFocus={(route) => {
            if (route.reset) {
              this.refs.navigator.immediatelyResetRouteStack([{ name: route.name }])
            }
          }}
          />
      </View>
    );
  }
Run Code Online (Sandbox Code Playgroud)

为了做魔术,你可以称之为navigator.push:

navigator.push({ name: 'Home', reset: true })
Run Code Online (Sandbox Code Playgroud)

它将动画到Home并为您重置堆栈;)