seletedValues.filter 方法的意外标记,预期

Posted

技术标签:

【中文标题】seletedValues.filter 方法的意外标记,预期【英文标题】:Unexpected token, expected , for seletedValues.filter method 【发布时间】: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。另外,请使用实际句子,而不是句子片段的要点。 【参考方案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 当问题是由拼写错误引起的,不要发布答案。发表评论(除非它已经发布)和(当你有足够的代表时)投票关闭作为一个错字(这是“离题”关闭的原因之一)。

以上是关于seletedValues.filter 方法的意外标记,预期的主要内容,如果未能解决你的问题,请参考以下文章

compensation 在 spec 上的意義

不要要求什么人都随你的意

移动魔百盒cm201-2 ch hiTool烧写系统文件,怎么进度条一直在走,没有停下的意

可变长度参数

有啥方法可以让 PHP 检测到损坏的图像?

12.单链表排序