Я пытаюсь передать реагирующий компонент ApolloProvider для использования.Я использую машинопись, поэтому типы и т. Д. Должны быть правильно объявлены.
Моя идея заключалась в следующем
import { ApolloClient } from 'apollo-client';
import { Component } from 'react';
import { HttpLink } from 'apollo-link-http';
import { InMemoryCache } from 'apollo-cache-inmemory';
import { ApolloProvider } from 'react-apollo';
class ProjectRequest{
public provideApolloToComponent(PassedComponent: Component) {
const client = new ApolloClient({
link: new HttpLink(),
cache: new InMemoryCache(),
});
return (<ApolloProvider client={client}>
<PassedComponent />
</ApolloProvider>);
}
Однако я получаю следующие ошибки:
Для ApolloProvider
Generic type 'ApolloProvider<TCache>' requires 1 type argument(s)
Для PassedComponent
Operator '<' cannot be applied to types 'boolean' and 'RegExp'.ts(2365)
'PassedComponent' refers to a value, but is being used as a type here.
и для конечного jsx-элемента ApolloProvider
Operator '<' cannot be applied to types 'boolean' and 'RegExp'.ts(2365)
Unterminated regular expression literal.
, который, как я полагаю, будет исправлен, когда будет зафиксирован PassedComponent.