如果在带有React钩子的功能组件中包含以下代码,那么如果为常数,如何清除useMutation错误?
$total = $query[0]->total; // 29
答案 0 :(得分:0)
假设您将其用作组件的一部分,那么const
将在下一次渲染时再次进行评估。因此,它不会在两次登录尝试之间持续存在,因此无需清理它。
例如我这样使用它,即使用户第一次登录时遇到错误,它仍然允许他们重试并成功:
const LoginPage: = ({doLogin}: LoginProps) => {
const [login, { loading, error }] = useMutation<LoginResponse, LoginVariables>(
LOGIN_MUTATION, { onCompleted: (response: LoginResponse) => doLogin(response) }
)
return <>
// Render my login component
</>
}
如果您打算覆盖当前渲染中的错误值,则只需分配一个新变量,然后使用该变量即可:
const [login, { error }] = useMutation<...>(...)
const overwrittenError = customizedErrorMessage(error)
const potentiallyIgnoredError = shouldErrorBeIgnored(error) && error
return <>
<>Custom error: { overwrittenError }</>
<>This error might be ignored: { potentiallyIgnoredError }</>
<>Original error: { error }</>
</>