You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Redux dispatch时VERIFY Action未触发、Reducer未执行是什么原因?

你观察到的两个前缀为@@redux/的Action是Redux初始化阶段自动触发的内置动作,属于正常的初始化行为,和你的业务逻辑无关。VERIFY动作未触发的原因及修复方案如下:

核心原因

VERIFY Action 从未被调用。你通过connect高阶组件将VERIFY绑定到了Home组件的props属性上,但你在Home组件的逻辑中没有任何调用props.VERIFY()的代码,Redux自然不会派发对应类型的Action。

其他可排查点(调用后仍不生效时检查)

  • 确认你已正确配置redux-thunk中间件:你的VERIFY是返回函数的Thunk类型异步Action Creator,没有Thunk中间件的话这类Action无法正常执行。
  • 确认signedReducer已正确注册到根Reducer中,且Action Type的拼写没有错误。

修复代码示例

修改pages/home.js,在组件挂载时触发VERIFY动作即可:

import { useEffect } from "react";
import PrivateLayout from "../components/PrivateLayout/PrivateLayout";
import { connect } from "react-redux";
import { VERIFY } from "../redux/actions/signActions";

function Home(props) {
  // 组件挂载时调用VERIFY
  useEffect(() => {
    props.VERIFY()
  }, [props])

  return (
      <div >
        { true ? 
            <h1>Logged In</h1> 
                  : 
            <h1>Please login again</h1>
        }
      </div>
  )
}

const mapStateToProps = state => ({
  user: state
})

const mapDispatchToProps = {
  VERIFY: VERIFY
}

export default connect(mapStateToProps, mapDispatchToProps)(Home);

内容的提问来源于stack exchange,提问作者Ruthvik Chandra Vanam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 09:48:02