You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
the useRestore hook allows you to manage the restore of data persisted in the storage. To be used if relay components are used outside of the QueryRenderer or for web applications without SSR & react-native (
if the application is offline, the policy is still store-only and since it has not been modified, the execute is not re-executed and the application is still in a loading state. (We want to avoid it)
Example of what happens when using the useQuery/QueryRenderer with useRestore:
the application shows a loading and does not render the useQuery component until it is rehydrated
if the application is online, the original policy is used and the execute of the QueryFetcher is performed
if the application is offline, the policy used will be store-only and the execute will look for the data in the store
Example of what happens when you use the useQuery/QueryRenderer without useRestore in SSR applications:
the first renderer is executed by setting the store-only policy
the store is not empty (having initialized the store with the data recovered from the server. The data recovered from the store will be displayed
the state is reconciled between the initial one (recovered from the server) and the state present in the storage, this makes a notification in the store that forces the updating of all the fragments subscribed
In applications with SSR the useRestore should never be used
With the proposed change in relay-hooks, it will be possible to avoid using the useRestore as it will always be possible to perform a forced execution of the QueryFetcher.
Example of what happens when using the useQuery/QueryRenderer without useRestore:
Example of what happens when using the useQuery/QueryRenderer with useRestore:
Example of what happens when you use the useQuery/QueryRenderer without useRestore in SSR applications:
In applications with SSR the useRestore should never be used
With the proposed change in relay-hooks, it will be possible to avoid using the useRestore as it will always be possible to perform a forced execution of the QueryFetcher.