Я пытался передать params в свой stackNavigator, но все же я получаю Undefined по какой-то причине. Вот мой код:
Первый стекаNav:
const BOOKS_PAGE = createStackNavigator(
{
booksPage: {
screen: Books,
navigationOptions: {
title: i18n.t('BOOKS'),
headerStyle,
headerTitleStyle,
headerLeft: currentLanguage === 'en' ? headerLeft : null,
headerRight: currentLanguage !== 'en' ? headerRight : null,
}
}
},
{
headerLayoutPreset: Platform.OS === 'ios' ? null : 'center'
}
);
Затем у меня есть навигация по выдвижным ящикам в качестве основной навигации, и она содержит вышеуказанную навигацию по стеку :
const DrawerNavigator = createDrawerNavigator(
{
BOOKS: {
screen: BOOKS_PAGE,
navigationOptions: {
title: i18n.t('BOOKS'),
drawerLabel: i18n.t('BOOKS')
}
},
},
DrawerConfig
);
и, наконец, это мое навигационное действие:
function navigate(routeName, booksObject) {
navigator.dispatch(
NavigationActions.navigate({
routeName,
params: {
levelName: booksObject.levelName
},
})
);
}
Я пытался использовать this.props.navigation.state
и this.props.navigation.state.params
и this.props.navigation.getParam('levelName')
но все вернулось как неопределенное.
Есть идеи о том, как мне решить эту проблему?