【发布时间】:2024-01-13 10:01:01
【问题描述】:
我在我的应用程序中嵌套了导航器。我希望我的标题栏设置在导航的根目录上,这样我的应用程序中的所有屏幕都会有一个相互的标题栏。
我的 index.js 是:
const StackOpportunityNavigator = createStackNavigator(
{
MainOpportunity: OpportunityScreen,
ClientScreen: ClientScreen,
BusinessMapLocation: BusinessMapLocation,
LoginScreen: LoginScreen
},
{
initialRouteName: 'MainOpportunity',
headerMode: 'none',
transitionConfig: () => fromLeft(600),
}
);
const DrawerNavigationOptions = createDrawerNavigator(
{
OpportunityStack: { screen: StackOpportunityNavigator },
History: HistoryScreen,
MyChances: MyChancesScreen,
Info: InfoScreen
},
{
contentComponent: (props) => <SideBar {...props} />,
drawerPosition: 'right',
transitionConfig: () => fromLeft(600),
}
);
const LoginNavigator = createStackNavigator(
{
LoadingScreen: LoadingScreen,
LoginScreen: LoginScreen,
DrawerNavigator: DrawerNavigationOptions
},
{
transitionConfig: () => fromLeft(600),
headerMode: 'screen',
navigationOptions: {
headerStyle: {
backgroundColor: Colors.primary
},
headerTintColor: '#fff',
headerTitleStyle: {
fontWeight: 'normal',
fontSize: 18
}
}
}
);
export default LoginNavigator;
在我的应用程序的每个屏幕中,我都有以下代码:
static navigationOptions = {
header: <HeaderBar title={'currentScreenTitle'} />
};
但是,它可以在“LoginScreen”屏幕和“LoginNavigator”的所有其他屏幕上工作,但不能在“历史”等任何其他屏幕上工作。
如果我的导航标题栏位于最根导航器中,我如何仍能从“历史记录”等其他屏幕控制导航选项并设置标题?
希望你能理解我的问题。 真心希望能尽快得到您的答复。 谢谢大家!
【问题讨论】:
-
试试
this.props.navigation.getParent.setOptions: reactnavigation.org/docs/navigation-prop/#getparent
标签: reactjs react-native header navigation navigator