dev-plugins icon indicating copy to clipboard operation
dev-plugins copied to clipboard

useApolloClientDevTools should not throw when given `undefined` as client

Open MorganDavid opened this issue 1 year ago • 0 comments

our usecase requires loading client in a useEffect after some data has loaded. e.g.

  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.

MorganDavid avatar May 22 '24 15:05 MorganDavid