Как я могу передать клиента от ApolloProvider компоненту, который также использует другие реквизиты?

#reactjs #typescript #graphql #apollo #apollo-client

Вопрос:

Я хочу выполнить запрос client.read в своем приложении react/typescript, но мне нужен доступ к объекту клиента. Я читал документы здесь https://www.apollographql.com/docs/react/api/react/hoc/#withapollocomponent и знайте, что мне нужно сделать что-то подобное, чтобы получить доступ к объекту клиента, чтобы я мог выполнить запрос на чтение

 const MyComponent = ({ client }) => {
    // client.readQuery(stuff)
    // rest of component body
}

export default withApollo(MyComponent)
 

Но моя проблема в том, что компонент, в котором я хочу выполнить запрос на чтение, уже требует некоторых реквизитов. Это выглядит так

 interface IMyComponentProps {
    callback: () => any
}

const MyComponent: React.FC<IMyComponentProps> = (props) => {
    // component body
}

export default MyComponent
 

Как я могу передать существующие реквизиты, а также объект клиента, и как это повлияет на мой интерфейс реквизитов?

Комментарии:

1. HOC устарели … просто добавьте a client в свой интерфейс (props defs) ?