我需要在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。