Javascript webpack ReactJS:this.setState处出现意外令牌

Javascript webpack ReactJS:this.setState处出现意外令牌,javascript,json,reactjs,foreach,webpack,Javascript,Json,Reactjs,Foreach,Webpack,我试图在ReactJS中更改数组中所有元素的状态,如下所示。这是我第一次申请,所以我不知道这里出了什么问题 closeState(){ this.state.itemList.forEach(function(itemInd){ this.setState({ itemInd.expState : 0 }); } }); 它给我意外的标记错误 我有 this.state = { ........... itemList

我试图在ReactJS中更改数组中所有元素的状态,如下所示。这是我第一次申请,所以我不知道这里出了什么问题

closeState(){
    this.state.itemList.forEach(function(itemInd){
        this.setState({ itemInd.expState : 0 });
    }
});
它给我
意外的标记
错误

我有

     this.state = {
         ...........
        itemList: [],
         .....
     }

itemList中的每个元素都有:
title、desc、expState

我认为您选择了错误的方法来解决这个问题。从您的示例中,我了解到您希望为
itemList中的每个元素将
expState
设置为
0
,如果是真的,最好这样做

const newItemListState = this.state.itemList.map((itemInd) => {
  return Object.assign(itemInd, { expState: 0 });
});

this.setState({ itemList: newItemListState })

在你的例子中,你有几个错误

  • 您忘记在回调函数之后添加
  • 您需要为
    .forEach
    回调设置
    ,或使用
    箭头函数

    2.1<代码>this.state.itemList.forEach(函数(itemInd){},this)

    2.2
    this.state.itemList.forEach((itemInd)=>{})

  • 无法使用此
    {itemInd.expState:0}
    表达式