首页 > 解决方案 > React 类组件中出现意外的关键字“this”

问题描述

在尝试使用 Redux saga 更新反应状态时,我收到一个错误 Unexpected keyword 'this'。有人可以向我解释以下代码有什么问题以及如何纠正它吗?

class Welcome extends React.Component {
 
   removeCartItems = (cartItems) => {
        cartItems.map((product, index) => ({
            this.props.dispatch(removeItem(product)) // Getting error Unexpected keyword 'this'
        }));
    };

  render() {
    this.removeCartItems(cartItems)
    return (<h1>Remove product from cart</h1>);
  }
}

标签: javascriptreactjsnext.js

解决方案


您需要删除括号,否则 JS 会将其解释为您试图从箭头函数返回对象。

() => { this. ... }

不是

() => ({})

在您的情况下,它将按以下方式显示。

    cartItems.map((product, index) => {
        this.props.dispatch(removeItem(product));
    });

推荐阅读