Reactjs “如何修复”;警告:Can';t对未安装的组件执行React状态更新“;在一个按钮点击里面有一个加载?
我基本上有一个按钮来发送一个请求,当请求完成时,我将load设置为false,我得到了一个常见的问题,即react无法处理组件卸载时的状态。我试着使用useRef钩子设置一个_isMounted状态,就像在这个类似的问题中一样,但它不起作用 这是按下按钮时的功能Reactjs “如何修复”;警告:Can';t对未安装的组件执行React状态更新“;在一个按钮点击里面有一个加载?,reactjs,Reactjs,我基本上有一个按钮来发送一个请求,当请求完成时,我将load设置为false,我得到了一个常见的问题,即react无法处理组件卸载时的状态。我试着使用useRef钩子设置一个_isMounted状态,就像在这个类似的问题中一样,但它不起作用 这是按下按钮时的功能 const handleSubmit = useCallback( async e => { e.preventDefault() try {
const handleSubmit = useCallback(
async e => {
e.preventDefault()
try {
setLoading(true)
if (!email || !password) {
alert('warning', {
message: 'Ops...',
description: 'Preencha email e senha para continuar.',
})
return
}
const data = {
email,
password,
}
const { setToken } = SessionActions
const { setCustomer } = CustomerActions
const request = await api.post('/sessions', data)
const { token } = request.headers
const { customer } = request.data
alert('success', {
message: 'Seja bem-vindo ao GCM VIP!',
})
dispatch(setCustomer(customer))
dispatch(setToken(token))
} catch (err) {
alert('error', {
message: 'Ops...',
description:
'Ocorreu algum problema, entre em contato com o suporte.',
})
} finally {
setLoading(false)
}
},
[email, password, dispatch],
)
这是按钮本身
<Button
data-testid="submit"
id="submit"
type="primary"
size="large"
htmlType="submit"
loading={loading}
>
Enter
</Button>
进入