我是 react redux 的新手,我试图在组件中调用两个操作。单击按钮后有登录页面我正在调用一个将获取 auth_token 的操作,然后我在 componentWillReceiveProps() 中使用的那个令牌用于调用另一个操作。下面是我的代码
问题:当我单击按钮时,它显示我在问题标题中提到的错误。
用户界面:
<Button
block
bsSize="large"
disabled={!this.validateForm()}
onClick={this.handleSubmit.bind(this)}
>
Login
</Button>
功能:
import React, { Component } from 'react'
import { Button, FormGroup, FormControl, ControlLabel } from 'react-
bootstrap';
import { loginActionCreater } from '../../actions/index';
import { connect } from 'react-redux';
import { bindActionCreators } from 'redux';
import { fetchListOfCandidate } from
'../../actions/FetchCandidateAction/FetchCandidateAction';
handleSubmit() {
this.props.loginActionCreater(this.state.email, this.state.password);
}
componentWillReceiveProps(nextProps) {
if (nextProps.token) {
this.props.fetchListOfCandidate(nextProps.token);
history.push('/HeaderComponents');
}
}
function mapStateToProps(state) {
return {
error: state.login.error,
token: state.login.token
}
}
function mapDispatchToProps(dispatch) {
return {
actions: {
loginActionCreater: bindActionCreators(loginActionCreater, dispatch),
fetchListOfCandidate: bindActionCreators(fetchListOfCandidate, dispatch)
}
}
}
export default connect(mapStateToProps, mapDispatchToProps)(LoginComponent);
如果我只是分派单个动作,它工作正常,但在分派两个动作时,它显示标题中提到的错误。
这是我如何调度单个动作,它工作正常:
function mapDispatchToProps(dispatch) {
return bindActionCreators({ loginActionCreater }, dispatch);
}
如果有人知道我做错了什么,请纠正我。感谢您的帮助!