
今天在用React + Redux开发,发现一个问题
在执行dispatch(action)的时候报UncaughtTypeError:dispatchisnotafunction!!求大侠提供解决方法的思路。我debug的...
在执行 dispatch(action)的时候 报Uncaught TypeError: dispatch is not a function!!求大侠提供解决方法的思路。我debug的时候dispatch值是undefine.
展开
1个回答
展开全部
可能是你的action没有connect到组件上,没有把这个方法传过来。
1.参考我写的一个方案
https://github.com/hyy1115/react-redux-book
@connect(
state => state,
dispatch => bindActionCreators(action, dispatch)
)
2.根据redux文档的方案
http://cn.redux.js.org/docs/react-redux/quick-start.html
// 哪些 action 创建函数是我们想要通过 props 获取的?
function mapDispatchToProps(dispatch) {
return {
onIncrement: () => dispatch(increment())
};
}
export default connect(
mapDispatchToProps
)(Counter);
追问
我现在写了一个登陆的组件,组件名字是startLogin,我把dispatch写到这个组件中可能是错误原因,module.exports = startLogin;我想在写一个登陆的JS文件,然后在写export default connect(mapStateToProps)(XXX)这些代码,我想问,我点击登陆之后,我该怎么调用之后我写的这个文件,我想了好长时间了。大神,能给点儿思路么?
追答
import或者require这个js文件,要定义一个导出的变量名,登录组件中,当点击了按钮,绑定一个点击事件,在这个事件中执行你导入的js文件名,调用有关的方法去执行。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询