如何在HandleSubmit上处理两个分派操作



我需要在SubmitForm上调度两个不同的操作,如果第一个操作成功,逻辑就是我调度第二个操作

我确实喜欢这个

const handleClick = () =>{
setLoading(true)
const authorizationCode = refInput.current.state.tan
const email = emailValues?.email;
const UserId = phoneValues?.data?.d;
const phone_number = phoneValues?.value?.phone_number
const language = phoneValues?.value?.language
dispatch(verifyUserNumber({
email,
authorizationCode ,
language,
UserId,
phone_number,
}))
setTimeout(() => {
if(isDoneVerifyingUser){
dispatch(getKycToken(UserId, phone_number, authorizationCode)) 
setTimeout(() => {
setOpenModel(false)
setOpenKYC(true)
setLoading(false)

}, 2000); 
}else{
setError(true)
setLoading(false)
}
}, 2000);

}

但我有一个问题,那就是我必须点击两次按钮才能发送第二次操作

取一个处于状态的变量isDoneVerifying

在调度第一个操作之后,根据结果将状态更新为true或false。

在您的组件中,使用依赖于isDoneVerifying的钩子useEffect并调用第二个分派。请确保在执行reducer部分后将标志更改为false。

最新更新