我在connect中使用mapDispatchToProps对象,如果我将动作创建者用作函数声明,则它可以正常工作,但是如果用作函数表达式,则不能工作
仅当函数表达式包装在另一个函数中时,它才起作用。如果我使用向下传递给组件的dispatch方法直接调用它,也可以使用。使用mapDispatchToProps时,我以this.props.incrActionCreator()访问动作创建者
// This way of action creator does not work when using mapDispatchToProps as an object
export const incrActionCreator = () => {
return {
type: 'INCR',
};
};`
`// but this way of action creator works
export function incrActionCreator() {
return {
type: 'INCR',
};
}`
`// mapDispatchToProps using Object which does not work
const mapDispatchToProps = {
incrActionCreator
};`
`// MapDispatchToProps using Object that works
const mapDispatchToProps = {
// Wrapping the action creator function in a function
incrActionCreator: () => incrActionCreator(),
};
使用函数表达式实际上不应给出错误;不知道我在做什么错