У меня есть компонент панели инструментов, визуализируемый компонентом приложения, я хочу выполнить обновление API-вызова при нажатии кнопки панели инструментов, например. 'save'.
index. js:
ReactDOM.render(
<BrowserRouter>
<ApolloProvider client={client}>
<App />
</ApolloProvider>
</BrowserRouter>,
document.getElementById('root')
)
Приложение. js
function App(props) {
return (
<div className="App">
<div>
<Toolbar />
</div>
</div>
)
Я знаю, как обрабатывать нажатие кнопки на панели инструментов и как передавать реквизиты и обработчики вверх и вниз по дереву, чтобы меня это не беспокоило, но я на самом деле хочу получить доступ к объекту «клиент» Apollo непосредственно в дочернем компоненте - что-то вроде этого (например, на панели инструментов):
const saveButtonClicked = (() => {
client
.query({...my query info...})
.then(response =>
{
//Update was done
})
})
Я использовал клиента в других компонентах, используя хук useQuery, но при этом ожидается возвращение данных рендеринга / JSX, я просто хочу выполнить запрос. Я понимаю, что объект «клиент» где-то содержится в контексте, но я не знаю, как получить ссылку на него, поэтому я предполагаю, что я спрашиваю, как мне получить доступ к объекту «клиент» вне ловушки?