采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师有个疑问,看到这个地方,一般我写action都是单独文件夹,然后需要的时候引入,那样我需要派发action的时候使用store的dispatch实现,您有些地方也是这么实现的。
唯一一个地方,errorMsg()这个sction,在register方法中直接return返回执行了,并没有使用dispatch,也会派发,有点不明白为啥没有使用dispatch也可以?求告知
这是return 说明我们没有dispatch一个action,没有揍redux那一套,而是直接当做一个actionCreator使用,这里register就是直接返回了一个同步的action,会被自动dispatch
return出来的action,跟一般的actionCreator也是一样的,都是return了一个action,但是register执行后return的action,为什么会自动dispatch而不需要手动去调用dispatch派发呢? 因为一般我写的时候,都是dispatch(actionCreator(params))这样,是手动dispatch的,这两者有啥不一样,还是没明白老师~。查资料也暂时没找到思路。
registerPost() { const {dispatch} = this.props; let registerData = this.state; if (!registerData.userName || !registerData.pwd ) { dispatch(errorMsg("请输入您的用户名或密码")); } else if (registerData.pwd !== registerData.confirmPwd) { dispatch(errorMsg("两次密码输入不一致")); }else { axios.post("/user/register", registerData) .then(res => { console.log(res); dispatch(registerSuccess(registerData)) }) .catch(err => { console.log(err); }) } } 老师我是这样写的。
登录后可查看更多问答,登录/注册
全网唯一的React 16+Redux+React Router4实战课程,学到手是你的真本领!
1.8k 10
1.3k 9
1.0k 8
1.2k 8
1.2k 7