我在我的应用中发现这种异步操作无法正常工作。我认为错误发生在mapDispatchToProps
。
以下是mapDispatchToProps
:
const mapDispatchToProps = (dispatch) => {
return {
fetchUserList: () => {
console.log('---In fetchUserList---');
dispatch({
type: FETCH_USER_LIST,
payload: new Promise((resolve, reject) => {
let xhr = new XMLHttpRequest();
console.log('xhr: ', xhr);
xhr.open('GET', 'http://localhost:5000/data/fetch/users');
xhr.onload = () => {
console.log(' --- in onload function ---');
console.log(xhr.responseText);
resolve(JSON.parse(xhr.responseText));
}
xhr.onerror = () => {
console.log(' --- in onerror function ---');
reject(xhr.statusText);
}
xhr.send();
})
});
}

我已经在显示日志的几个步骤中记录了fetchUserList
,但该方法既未达到xhr.onload
或xhr.onerror
,因为我没有获得任何日志从那里正确设置?
以下是我在其中使用的组件:
class Profile extends Component {
constructor(props) {
super(props);
}
componentDidMount() {
this.props.fetchUserList();
}
}

答案 0 :(得分:0)
如上所述,如果您想创建
,您的操作应该是纯Java脚本对象