Я не могу использовать 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 и все в одном файле, оно работает. Но файл становится грязным.
Кто-нибудь может помочь? Вам нужна дополнительная информация?