可以在提交表单时,使用useMutation
钩子来调用更新操作并处理异步等待状态。当处于等待状态时,可以使用useQueryClient
钩子从缓存中获取当前表单数据并渲染在页面上。
示例代码:
import { useMutation, useQueryClient } from 'blitz';
function Form(props) {
const { initialValues } = props;
const queryClient = useQueryClient();
const [mutate, isSubmitting] = useMutation(updateData);
function handleSubmit(values) {
mutate(values, {
onSuccess: () => {
queryClient.invalidateQueries(['data']);
},
});
}
return (
);
}
export default Form;
在这个示例中,handleSubmit
函数会调用更新操作updateData
并在成功后清空缓存中的data
查询。在提交表单时,useQueryClient
钩子将从缓存中获取数据并使用defaultValue
属性将其渲染到表单输入框中。这样,即使处于等待状态,表单也会呈现当前数据的值。
上一篇:blit使用类时无效的目标位置
下一篇:blit最小示例无法保持绘图可见