expo / expo/dev-plugins

useApolloClientDevTools should not throw when given `undefined` as client

Open
#41 0 comments 2 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
250
Forks
36
PR merge metrics
No merged PRs in 30d

Description

our usecase requires loading `client` in a useEffect after some data has loaded. e.g.
```js
useEffect(() => {
(async () => {
const _persistor = cachePersistorFactory(cache);
await _persistor.restore();
const _client = clientFactory(cache, loginProviderRef);
setCachePersistor(_persistor);
setClient(_client);
})();
}, [loginProviderRef]);
```

This means we can't use this hook because it throws an error when client is undefined (on the first render) and it's not possible to render hooks conditionally.

*Expected Behaviour:*
useApolloClientDevTools does nothing if client is undefined.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.