查詢,我現在正在制作公告板。于是,我把值title, content在Form資訊寫入react-query功能onSuccess。在值中,console.log 沒有反應。
export const useAddFAQPost = () => {
return useMutation(FaqPost)
}
export function FaqPost(data: FAQ) {
return axios.post<FAQ>('/add', data, {
})
}
const { mutate } = useAddFAQPost()
const onSubmit = useCallback((event: React.ChangeEvent<FormEvent>) => {
event.preventDefault();
return mutate({ title, type } as FAQ), {
onSuccess: async (data: string, context: string) => {
console.log(data);
console.log('why not?');
},
onError: async (data: string, context: string) => {
console.log(data);
}
};
}, [title, type])
return (
<>
<form onSubmit={onSubmit}>
<input type="text" name="title" value={title} ... />
<option value="faq">FAQ</option>
</form>
</>
)
如果onSubmit成功或失敗,console.log中的onSuccess,onError應該被記錄,但是沒有被記錄。你為什么做這個?onSuccess,onError 似乎沒有回應。
我不知道為什么。幫助
uj5u.com熱心網友回復:
onSuccess / one rror 等方法應該在 useMutation 掛鉤創建中定義,而不是在您根據檔案呼叫 mutate 函式時定義。
https://react-query.tanstack.com/guides/mutations
你必須適應你的需要,但想法是:
export const useAddFAQPost = () => {
return useMutation(FaqPost, {
onSuccess: async (data: string, context: string) => {
console.log(data);
console.log('why not?');
},
onError: async (data: string, context: string) => {
console.log(data);
}
})
}
您也可以在呼叫時傳遞它 useAddFAQPost()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/408007.html
標籤:
下一篇:如何使用單選按鈕隱藏div
