我试图禁用特定屏幕的屏幕转换,
但我不能让它失效
const MainNavigator = createStackNavigator(
{
... Other routes
CreditCardsList: {
screen: CreditCardsList,
navigationOptions: ({ navigation,screenProps }) =>({
title: 'Credit Cards List',
animationEnabled: false,
}),
transitionConfig: () => ({
transitionSpec: {
duration: 0
},
}),
},
}
);
const App1 = createAppContainer(MainNavigator);
export default App1;版本:
"react": "16.8.6",
"react-native": "0.60.5",
"react-navigation": "^4.3.1",
"react-navigation-drawer": "^1.4.0",
"react-navigation-stack": "^1.10.3",
"react-navigation-tabs": "^1.2.0",我几乎什么都试过了,请帮帮忙。提前感谢
发布于 2020-03-17 23:03:23
给你:
navigationOptions: {
...
}
defaultNavigationOptions: ({ navigation }) => {
let animationEnabled = true;
if (navigation.state.routeName == 'CreditCardsList') {
animationEnabled = false;
} else if (navigation.state.routeName == 'OtherBlockedPage') {
animationEnabled = false;
}
return {
animationEnabled
};
}发布于 2020-03-18 11:52:59
我取得了以下成绩,如果您有更好的选择,请张贴
defaultNavigationOptions: ({ navigation }) => {
...
},
transitionConfig: (navigation) => {
if(navigation.navigation.state.routes.length > 2){
if(navigation.navigation.state.routes[2].routeName === 'CreditCardsList'){
return{
transitionSpec: {
duration: 0,
},
}
}
}https://stackoverflow.com/questions/60725238
复制相似问题