当我使用 createStackNavigator
直接指定 drawerLockMode
时,它不起作用。
const drawerStack = createStackNavigator({
HomeScreen: { screen: HomeScreen },
}, {
headerMode: 'screen',
navigationOptions: {
drawerLockMode:'locked-closed'
}
})
但是当我使用 drawerStack
变量来定义 navigationOptions
时,它可以正常工作。
drawerStack.navigationOptions = ({ navigation }) => {
drawerLockMode = 'locked-closed';
return {
drawerLockMode,
};
};
我直接在 createStackNavigator
中使用它是否有任何错误?
更新
正如@bennygenel 所建议的,我们需要在 drawerNavigator 中使用 drawerLockMode 而不是 stackNavigator。这是我所做的。
const drawerNavigator = createDrawerNavigator({
drawerStack: drawerStack
}, {
contentComponent: DrawerComponent,
navigationOpions:{
drawerLockMode:'locked-closed'
}
})
但它也不是这样工作的。它工作的唯一方法是使用使用 createStackNavigator
或 createDrawerNavigator
const
变量
最佳答案
试试下面的代码,它对我有用:
const UserHome_StackNavigator = StackNavigator({
userHm: {
screen: UserHome,
navigationOptions: ({ navigation }) => ({
title: 'User screen title',
headerStyle: {
backgroundColor: 'white',
},
headerTintColor: 'black'
}),
},
});
UserHome_StackNavigator.navigationOptions = ({ navigation }) => {
let drawerLockMode = 'locked-closed';
//logic here to change conditionaly, if needed
return {
drawerLockMode,
};
};
关于android - 抽屉锁模式 : 'locked-closed' not working directly with createStackNavigator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52361394/