在react里使用action需要把action绑定到组件的props(而且还得声明propType)上,通过this.props来使用。
如果子组件需要使用这个action,还得一级一级往下传。
function mapDispatchToProps(dispatch) {
return bindActionCreators({
fetchUser
}, dispatch);
}
connect(null, mapDispatchToProps)(Component);
但实践上发现,action完全可以这样写。
export const fetch = () => {
return store.dispatch({
type: TYPE,
payload: fetch(path)
});
};
这样子的话方法import进来就可以直接调用,不管是在哪个地方。不需要任何绑定和类型声明。