️(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 14:16:06 +02:00
committed by Anthony LC
parent 67f4ddeef7
commit 03953f0fe7
6 changed files with 11 additions and 7 deletions

View File

@@ -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);

View File

@@ -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);

View File

@@ -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) {

View File

@@ -38,7 +38,7 @@ export function useUpdateDoc({
mutationFn: updateDoc,
onSuccess: (data) => {
listInvalideQueries?.forEach((queryKey) => {
void queryClient.invalidateQueries({
void queryClient.resetQueries({
queryKey: [queryKey],
});
});

View File

@@ -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({

View File

@@ -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) {