Current Behavior
In the DataConnect React library, query invalidation in mutations doesn't work as described when passing in a reference instance without parameters.
As described in the documentation, if I pass in just the reference to the query, it should invalidate all queries cached:
const createMovie = useDataConnectMutation(createMovieRef, {
invalidate: [getMovieRef],
});
This will actually also trigger a TypeScript error:
Type 'GetMovieRef' is not assignable to type 'QueryRef<unknown, unknown> | (() => QueryRef<unknown, unknown>)'.
Type 'GetMovieRef' is not assignable to type '() => QueryRef<unknown, unknown>'.
Target signature provides too few arguments. Expected 1 or more, but got 0.ts(2322)
Even after ignoring the TS error, the query does not get invalidated after the mutation executes in the app.
However, it works as intended if a parameter is specified to invalidate a specific record:
const createMovie = useDataConnectMutation(createMovieRef, {
invalidate: [getMovieRef({ id: "1" })],
});
Expected Behavior
Passing in a query reference without parameters to the invalidate option in mutations should invalidate ALL of its cached queries.
Current Behavior
In the DataConnect React library, query invalidation in mutations doesn't work as described when passing in a reference instance without parameters.
As described in the documentation, if I pass in just the reference to the query, it should invalidate all queries cached:
This will actually also trigger a TypeScript error:
Even after ignoring the TS error, the query does not get invalidated after the mutation executes in the app.
However, it works as intended if a parameter is specified to invalidate a specific record:
Expected Behavior
Passing in a query reference without parameters to the
invalidateoption in mutations should invalidate ALL of its cached queries.