️(frontend) use resetQueries instead of invalidateQueries

With the list of documents, invalidateQueries doesn't
refresh as expected the list of documents. We
will prefer resetQueries, it seems to be more
appropriate for this case.
This commit is contained in:
Anthony LC
2024-07-05 19:02:01 +02:00
committed by Anthony LC
parent 67f4ddeef7
commit 03953f0fe7
6 changed files with 11 additions and 7 deletions
@@ -1,7 +1,10 @@
import { useMutation, useQueryClient } from '@tanstack/react-query';
import { APIError, errorCauses, fetchAPI } from '@/api';
import { Doc, KEY_LIST_DOC } from '@/features/docs';
import { Doc } from '../types';
import { KEY_LIST_DOC } from './useDocs';
type CreateDocParam = Pick<Doc, 'title' | 'is_public'>;
@@ -33,7 +36,7 @@ export function useCreateDoc({ onSuccess }: CreateDocProps) {
return useMutation<Doc, APIError, CreateDocParam>({
mutationFn: createDoc,
onSuccess: (data) => {
void queryClient.invalidateQueries({
void queryClient.resetQueries({
queryKey: [KEY_LIST_DOC],
});
onSuccess(data);
@@ -1,7 +1,8 @@
import { UseQueryOptions, useQuery } from '@tanstack/react-query';
import { APIError, APIList, errorCauses, fetchAPI } from '@/api';
import { Doc } from '@/features/docs/doc-management';
import { Doc } from '../types';
export const isDocsOrdering = (data: string): data is DocsOrdering => {
return !!docsOrdering.find((validKey) => validKey === data);
@@ -30,7 +30,7 @@ export const useRemoveDoc = (options?: UseRemoveDocOptions) => {
mutationFn: removeDoc,
...options,
onSuccess: (data, variables, context) => {
void queryClient.invalidateQueries({
void queryClient.resetQueries({
queryKey: [KEY_LIST_DOC],
});
if (options?.onSuccess) {
@@ -38,7 +38,7 @@ export function useUpdateDoc({
mutationFn: updateDoc,
onSuccess: (data) => {
listInvalideQueries?.forEach((queryKey) => {
void queryClient.invalidateQueries({
void queryClient.resetQueries({
queryKey: [queryKey],
});
});
@@ -50,7 +50,7 @@ export function useCreateDocAccess() {
return useMutation<Access, APIError, CreateDocAccessParams>({
mutationFn: createDocAccess,
onSuccess: () => {
void queryClient.invalidateQueries({
void queryClient.resetQueries({
queryKey: [KEY_LIST_DOC],
});
void queryClient.resetQueries({
@@ -48,7 +48,7 @@ export const useDeleteDocAccess = (options?: UseDeleteDocAccessOptions) => {
void queryClient.invalidateQueries({
queryKey: [KEY_DOC],
});
void queryClient.invalidateQueries({
void queryClient.resetQueries({
queryKey: [KEY_LIST_DOC],
});
if (options?.onSuccess) {