Redux dispatch抛出意外的令牌错误

时间:2018-04-23 17:29:37

标签: reactjs redux react-redux

编辑 tl;博士:以下是您忘记在行动中添加type财产时会发生的情况。我会留下这个问题,以防Google员工发生同样的问题。

我在Unexpected token函数中应用dispatch时出现mapsDispatchToProps错误。

作为一个相当小的例子,这里是组件:

import React from 'react';
import { connect } from 'react-redux';
import { Button } from 'semantic-ui-react';
import './App.css';

const ToggleButton = ({ toggleButtonClick }) => (
  <div>
    <Button onClick={toggleButtonClick}>Toggle</Button>
  </div>
);

function mapStateToProps(state) {
  return { val: state.val };
}

function mapDispatchToProps(dispatch) {
  return { toggleButtonClick: () => dispatch({ 'TOGGLE_BUTTON_CLICK' }) }; //<--------ERROR OCCURS ON THE dispatch RIGHT PARENTHESIS
}

export default connect(mapStateToProps, mapDispatchToProps)(ToggleButton);

完整错误:

Module build failed: SyntaxError: Unexpected token (18:69)

  16 | 
  17 | function mapDispatchToProps(dispatch) {
> 18 |   return { toggleButtonClick: () => dispatch({ 'TOGGLE_BUTTON_CLICK' }) };
     |                                                                      ^
  19 | }
  20 | 
  21 | export default connect(mapStateToProps, mapDispatchToProps)(ToggleButton);

1 个答案:

答案 0 :(得分:1)

我想你想要:

function mapDispatchToProps(dispatch) {
  return { toggleButtonClick: () => dispatch({ type: 'TOGGLE_BUTTON_CLICK' })}
}

请注意type:中的dispatch()