反应导航变化的恢复过渡的持续时间



希望这是一个相当简单的问题,但是我使用React-Navigation在我的React-Native应用程序中有过渡问题。我想通过简单地删除此特定屏幕上的倒回事来解决它们。

有没有办法更改倒回的持续时间?

----编辑----

我当前的TransitionConfig:

transitionConfig: ({ scene }) => {
  const params = scene.route.params || {};
  if (params.skipAnimation) {
    return {
      transitionSpec: {
        duration: 0,
        timing: Animated.timing,
      },
    };
  }
  return {};
},

当我希望我的过渡没有动画时,我会做navigation.navigate,然后将param skipAnimation: true添加到导航呼叫中。但是,这适用于该导航过渡,但是,该持续时间不受回收转换观察到的,并且goBack()函数不接受参数。因此,我正在寻求找到是否有一种方法来强制续回过渡的持续时间。

我想简单地出现/消失而没有任何动画。

您可以将配置传递给导航器,

createStackNavigator(
  {
  ....//your routes
  },
  {
    transitionConfig: () => {
      return {
        transitionSpec: {
          duration: 1000
        }
      };
    },
    initialRouteName: "Your first screen"
  }
}

编辑

对于后退按钮,请使用Backandler ..

componentDidMount() {
    BackHandler.addEventListener('hardwareBackPress', this.handleBackPress);
  }
componentWillUnmount() {
    BackHandler.removeEventListener('hardwareBackPress');
  }
  handleBackPress = () => {
    this.props.navigation.navigate('Your Screen'); //this will not push new screen if you have visited that screen and just behave like normal go back
 }

}

相关内容

  • 没有找到相关文章