函数表达式在mapDispatchToProps中不起作用

时间:2019-09-10 07:53:21

标签: javascript redux react-redux

我在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(),
    };

使用函数表达式实际上不应给出错误;不知道我在做什么错

0 个答案:

没有答案