希望这是一个相当简单的问题,但是我使用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
}
}