好吧,我是reactQuery的新手,我不知道这是怎么回事。
useUpdateUserSettings是来自自定义钩子的导入。
我有一个页面调用这个函数:
const updateUserSettingsMutation = useUpdateUserSettings();
updateUserSettingsMutation.mutate({
userName: user.preferred_username,
settings: {
...settings,
treatmentCountryGuid: country?.id || "",
legalDepartmentGuid: division?.legalDepartmentGuid || "",
defaultLanguage: selectedLanguage || "",
treatmentCountryCode: country?.code || "",
shopCode: division?.shopName?.substring(0, 2) || "",
},
});以下是功能:
export function useUpdateUserSettings() {
const queryClient = useQueryClient();
return useMutation(
async (vars: { userName: string; settings: IUserSettingsForUpdate }) =>
await putAccountSettings(vars.userName, vars.settings),
{
onMutate: async () => {
queryClient.cancelQueries(useUserSettings.queryKey);
},
onSettled: () => queryClient.invalidateQueries(useUserSettings.queryKey),
},
);
}在调用updateUserSettingsMutation的页面上,我需要在代码继续之前等待它完成。
更新:可以这样做:
updateUserSettingsMutation.mutate({
userName: user.preferred_username,
settings: {
...settings,
treatmentCountryGuid: country?.id || "",
legalDepartmentGuid: division?.legalDepartmentGuid || "",
defaultLanguage: selectedLanguage || "",
treatmentCountryCode: country?.code || "",
shopCode: division?.shopName?.substring(0, 2) || "",
},
}, { onSuccess: () => { Some code }})发布于 2022-03-04 11:19:16
updateUserSettingsMutation.mutate({
userName: user.preferred_username,
settings: {
...settings,
treatmentCountryGuid: country?.id || "",
legalDepartmentGuid: division?.legalDepartmentGuid || "",
defaultLanguage: selectedLanguage || "",
treatmentCountryCode: country?.code || "",
shopCode: division?.shopName?.substring(0, 2) || "",
},
}, { onSuccess: () => { Some code }})https://stackoverflow.com/questions/71350022
复制相似问题