У меня есть вложенный навигатор в моем приложении. Я бы хотел, чтобы моя строка заголовка была установлена в корне навигации, поэтому в моем приложении будет общая панель заголовков для всех экранов.
Мой 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», но не с любого другого экрана, такого как «История».
Как я могу по-прежнему управлять параметрами навигации из другого экрана, например «История», и устанавливать заголовок, если моя панель заголовка навигации находится в самом корневом навигаторе?
Надеюсь, вы понимаете мой вопрос.
Очень надеюсь на ваши ответы как можно быстрее.
Спасибо, ребята!