reason-apollo-hooks
reason-apollo-hooks copied to clipboard
Support for subscribeToMore on query
Does the library support loading additional data from a subscription after a query is executed? Subscriptions are difficult to use efficiently without this functionality: https://www.apollographql.com/docs/react/data/subscriptions/#subscribetomore
To get around this I have been doing something like:
module Subscriber {
[@react.component]
let make = (~results) => {
(subResults, _) = ApolloHooks.useSubscription(...);
switch subResults {
| Data(newResults) => <StatelessRenderer results=newResults />
| _ => <StatelessRenderer results=results />
}
}
}
// parent component will query, then child will either pass data through
// or re-render on subscription update
[@react.component]
let make = () => {
(results, _) = ApolloHooks.useQuery(...);
<Subscriber results=results />
}
But this has the major problem that each subscription push most contain all the data required to re-render a components, as opposed to an individual item to add, subtract, etc.
I am pretty sure it is supported, here is where subscribeToMore
is defined as a return value queryResult
from useQuery
. Can you check whether it will work for you?
Thanks, that looks very promising! Not sure how I missed it when I looked through the library. I'll close this issue once I confirm it's working -- will also try to do a pull request with some extra documentation.
That would be great 🙂