Я создал createMaterialTopTabNavigator
:
const topSurvayorsNavigator = createMaterialTopTabNavigator({
ActiveSurveyor: {
screen: MomayezanScreen,
params: { status: 1 },
},
DeActiveSurveyor: {
screen: MomayezanScreen,
params: { status: 0 },
}
}, {
swipeEnabled: true,
tabBarOptions: {
labelStyle: {
fontSize: 12
},
activeTintColor: Colors.darkGray
}
});
Я добавил этот навигатор в навигацию по стеку:
const AuditMomayezanNavigator = createStackNavigator({
Dashboard: DashboardScreen,
ListSurveyor: {
screen: topSurvayorsNavigator,
navigationOptions: ({ navigation }) => {
switch (navigation.state.routes[navigation.state.index]["routeName"]) {
case "ActiveSurveyor":
console.log("ActiveSurveyor")
return {
header: () => <CustomHeader
title='page1'
onTermSubmit={() => searchApi(0)}
/>
}
case "DeActiveSurveyor":
console.log("DeActiveSurveyor")
return {
header: () => <CustomHeader
title='page2'
onTermSubmit={() => searchApi(1)}
/>
}
default:
return { title: (navigation.state.routes[navigation.state.index]["routes"])[(navigation.state.routes[navigation.state.index]["index"])].routeName }
}
}
},
Detail: SurveyorDetailsScreen,
}, {
defaultNavigationOptions: defaultNavOptions
});
Как вы можете видеть, я использую собственный заголовок для навигации по стеку:
header: () => <CustomHeader
title='page1'
onTermSubmit={() => searchApi(1)}
/>
В пользовательском представлении мне нужно отправить метод в виде onTermSubmit
prop как searchApi с параметром. Как я могу вызвать searchApi (число) внутри MomayezanScreen
страницы из навигатора?