我正在创建一个登录页面,要求用户输入验证码字符串。
以下是我的代码。
我的还原状态为isFail
,默认值为false
。用户登录失败后,状态将变为true
。
当isFail
为真时,我希望它触发fetchCaptcha()
函数来刷新验证码图像。
是否有更好的方法来触发redux状态更改功能?
const LoginForm = props => {
const captchaImage = useSelector(state => state.auth.captchaImage);
const isFail = useSelector(state => state.auth.isFail);
const dispatch = useDispatch();
const fetchCaptcha = useCallback(() => dispatch(actions.fetchCaptcha()), [dispatch]);
const login = useCallback(data => dispatch(actions.login(data)), [dispatch]);
const loginHandler = (formData) => {
login(formData);
if(isFail){
fetchCaptcha();
}
}
useEffect(() => {
fetchCaptcha();
}, [fetchCaptcha]);
return (
...SKIP
);
}
export default LoginForm;
答案 0 :(得分:0)
您可以使用store.subscribe(callbackFunction)
。调度动作时都会调用它。