React-query [乐观更新在更新待办事项时不起作用]

时间:2020-10-19 07:44:15

标签: javascript reactjs caching react-query

我想乐观地更新待办事项。我尝试了以下方法。这意味着在Api调用完成之前,我想在UI上查看更新的项目。

company     ghacct      revenue other   stay    nights
33 JOINT LTD    10010205687 30  20  2   2
3B GLOBAL   10010350619 30  2   1   2
3E FASHION  10010244145 15  3   1   6
3P INT'L        10010112089 20  10  2   12

在这里,const [mutate] = useMutation( (newTodo) => axios.put(`http://localhost:7777/api/${todo._id}`, newTodo), { onMutate: (newTask) => { // console.log({ newTask }); console.log(newTask.task); // Cancel any outgoing refetches (so they don't overwrite our optimistic update) queryCache.cancelQueries(['tasks', newTask.task]); // Snapshot the previous value const previousTask = queryCache.getQueryData(['tasks', newTask.task]); // Optimistically update to the new value queryCache.setQueryData(['tasks', newTask.task], newTask); return () => queryCache.setQueryData(['tasks', newTask.task], previousTask); }, onError: (error, newTask, rollback) => { // If there is an errror, then we will reset the tasks to previous tasks rollback(); }, onSettled: (data, error, newTask) => { queryCache.refetchQueries('tasks'); queryCache.refetchQueries(['tasks', newTask._id]); }, } ); 是我在调用newTodo函数时传递的更新的待办事项。

mutate

但是,更新的项目在API调用完成之前未显示。

我在这里想念什么?

0 个答案:

没有答案