我不能使用client我创建的导航项的内部。
1. 我创造了我的 Apollo 东西并返回
<ApolloProvider client={client}>
<AppContainer />
</ApolloProvider>
2.AppContainer在一个单独的文件中
createAppContainer(AppDrawerNavigator)
3.AppDrawerNavigator在一个单独的文件中
createDrawerNavigator(
{
HomeStack: {
screen: HomeStackNavigator
},
...drawerRoutes
},
{
initialRouteName: 'HomeStack',
drawerPosition: 'right'
}
);
4.drawerRoutes是一个硬编码的对象
const drawerRoutes = {
First: {
screen: IndexStackNavigator
},
Second: {
screen: IndexStackNavigator
}
};
现在我想drawerRoutes在查询 Apollo 客户端后动态创建。但我没有设法访问里面的客户端createDrawerNavigator。我也不能将某些东西传递给createDrawerNavigator. 有没有一种棘手的方法可以做到这一点?最好是drawerRoutes在 1. 步骤中创建,而不是将路由对象传递给 3. 步骤。
当我将 Apollo 客户端创建、React Navigation Drawer 创建和所有内容放在一个文件中时,它就可以工作了。但是文件变得混乱。
有人可以帮忙吗?你需要更多信息?