Клиент ApolloProvider — как получить доступ из компонента класса React?

#reactjs #apollo-client #react-class-based-component

Вопрос:

Я создаю приложение React, и мне нужно использовать компоненты класса.

У меня есть АполлоКлиент, установленный в index.js и это передача клиента поставщику ApolloProvider. Как получить к нему доступ в компоненте приложения (компонент класса)? Возможно ли это вообще? У меня также есть настройка Redux и сопоставление состояния с реквизитами с помощью connect (я думал об использовании export default withApollo(App) , но затем потерял сопоставление состояния с реквизитами с помощью connect()).

Может ли кто-нибудь помочь/объяснить, как правильно реализовать apollo-клиент с компонентами класса react? Должен ли я создавать новый ApolloClient в каждом компоненте класса?

index.js

 const apolloClient = new ApolloClient({
  uri: "http://localhost:4000/",
  cache: new InMemoryCache(),
});

...

<ApolloProvider client={apolloClient}>
   <App />
</ApolloProvider>
 

App.js

 class App extends Component {
  render() {
...
  }
}

const mapStateToProps = (state) => {
  return {
     ...
  };
};

export default connect(mapStateToProps)(App);