Как внедрить `клиент apollo` через контекст реагирования через` contextType` вместо потребителя? - PullRequest
1 голос
/ 15 июня 2019

Я ищу contextType способ ввода apollo client в реактивный компонент. Я знаю, что приведенный ниже код работает, но он требует несколько строк кода.

import { ApolloConsumer } from "react-apollo";

const WithApolloClient = () => (
  <ApolloConsumer>
    {client => "We have access to the client!" /* do stuff here */}
  </ApolloConsumer>
);

React doc (https://reactjs.org/docs/context.html#dynamic-context) вводит новый способ внедрения контекста без использования consumer. Это делается с помощью набора contextType для класса компонента. Интересно, как я могу использовать contextType для внедрения apollo client? Что contextType я должен использовать?

1 Ответ

3 голосов
/ 15 июня 2019

Хорошо, я обнаружил, что могу импортировать ApolloContext из react-apollo, чтобы решить, как показано ниже:

import { ApolloContext } from 'react-apollo';

const HomeContainer = (props: HomeProps) => {
  const context = useContext(ApolloContext);
  return <Home {...props} />;
}
...