我已经尝试将参数传递给我的stackNavigator,但是由于某种原因,我仍然得到Undefined。这是我的代码:
首先使用stackNav:
yourAuthServicePromise.then(
(data) => {
if (data.['result']['accessToken']) {
this.hubConnection = new signalR.HubConnectionBuilder()
.withUrl('https://SIGNALR_SERVER_HUB_URL', {
accessTokenFactory: () => {
return data.['result']['accessToken'];
}
} as signalR.IHttpConnectionOptions)
.build();
this.hubConnection.start()
}
}
);
然后,我有一个抽屉式导航栏作为主导航栏,它包含上述堆栈导航栏:
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
,但它们都以未定义的形式返回。
关于我应该如何解决这个问题的任何想法?