用户提交表单后,如何防止 React-Final-Form 重置表单值?

Ish*_*tel 2 javascript forms reactjs react-final-form

react-final-form在 React App 中使用。它工作得很好!

但是有什么方法可以防止react-final-form用户成功提交表单后重置表单的输入值。

我需要它的原因是,目前当用户在提交表单后被重定向时,用户会看到200-400 micro second在提交表单和重定向到其他组件的操作之间输入值被重置为初始表单值。

我尝试使用以下但没有奏效:

e.preventDefault();

返回假;

以下是处理表单提交的函数。

export const useCreateAgent = (
  onCompleted: () => void,
) => {
  const [createAgent] = useMutation(CREATE_AGENT, {
    onCompleted,
  });

  return useCallback(async (agent: IAgent) => {
    try {
      await createAgent(createVariables({ ...agent }));
    } catch (errors) {
      return errors;
    }
  }, [createAgent]);
}
Run Code Online (Sandbox Code Playgroud)

Ish*_*tel 7

keepDirtyOnReinitialize prop 解决了这个问题。

<Form keepDirtyOnReinitialize >
   ...
</Form>
Run Code Online (Sandbox Code Playgroud)