【问题标题】:Unexpected token, expected , for seletedValues.filter methodseletedValues.filter 方法的意外标记,预期
【发布时间】:2019-05-21 06:53:03
【问题描述】:

我在这一行遇到语法错误:

queryComponents: prevState.seletedValues.filter((a, i) => (i !== index));

我正在尝试用filter 替换splice。我试图通过添加括号和删除括号来修复它,但这没有帮助。我该如何解决?

代码片段如下:

removeSelectedValue = index => {
    this.setState(prevState => ({
        queryComponents: prevState.seletedValues.filter((a, i) => (i !== index));
    });
};

The full code is on codesandbox.io.

【问题讨论】:

  • 过滤函数结束时去掉;,关闭setState函数
  • 欢迎来到 Stack Overflow!请环顾四周,并通读help center,尤其是How do I ask a good question? 请确保所有必要的代码都在此处现场,而不仅仅是链接。您最好的选择是使用 Stack Snippets([<>] 工具栏按钮)在问题中包含 runnable minimal reproducible example。 Stack Snippets 支持 React,包括 JSX; here's how to do one。另外,请使用实际句子,而不是句子片段的要点。

标签: javascript html reactjs redux material-ui


【解决方案1】:

您忘记在第 40 行添加关闭 ) 以关闭 this.setState。

 removeSelectedValue = index => {
    this.setState(prevState => ({
              queryComponents: prevState.seletedValues.filter((a, i) => (i !== index))
    }));
};

【讨论】:

  • 嘿,我更新了代码,但是当我单击删除按钮时仍然出现错误...在此处提供更新后的 snadbox 代码codesandbox.io/s/1r54yyj797
  • 我确实注意到了。 “无法读取未定义的属性‘过滤器’”
  • @NickLee 这意味着你的prevState.seletedValues 本身是未定义的。
  • 因为没有设置seletedValues
  • 当问题是由拼写错误引起的,不要发布答案。发表评论(除非它已经发布)和(当你有足够的代表时)投票关闭作为一个错字(这是“离题”关闭的原因之一)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-24
  • 1970-01-01
  • 1970-01-01
  • 2021-12-10
  • 1970-01-01
  • 2017-03-22
  • 1970-01-01
相关资源
最近更新 更多