【问题标题】:Why is there a comma "," at the end in this React code为什么在这个 React 代码的末尾有一个逗号“,”
【发布时间】:2020-08-28 20:45:06
【问题描述】:

初学者问题如图所示逗号?

更新
做了一些测试,Eslint 也推荐了它,但通常是用于分隔值,但他的只有一个值/语句

【问题讨论】:

  • 使用的 IDE 的一些扩展可以做到这一点。例如,VS Code 和 vue 扩展具有相同的行为
  • 用调查结果更新了我的问题——

标签: reactjs comma


【解决方案1】:

这是 Prettier 的 trailing commas 规则。

在 v2.0.0 中默认值从 none 更改为 es5

多行时尽可能打印尾随逗号。 (一种 例如,单行数组永远不会有尾随逗号。)

有效选项:

  • "es5" - 在 ES5 中有效的尾随逗号(对象、数组等)
  • "none" - 没有尾随逗号。
  • "all" - 尽可能使用尾随逗号(包括函数参数)。这需要节点 8 或转换。

传递给状态更新函数的对象在这样写时是一个多行对象字面量

{
  updateCount: updateCount + 1,
}

但是当写成单行时可能不需要尾随逗号

{ updateCount: updateCount + 1 }

注意:根据其他配置的 prettier/eslint 规则,即使您编写单行对象文字,它仍然可以自动格式化为多行对象,即行字符长度等...

意思,这样简单的一行

this.setState({ updateCount: updateCount + 1 });

根据缩进和其他样式配置,可以自动格式化为

this.setState({
  updateCount: updateCount + 1,
});

【讨论】:

    【解决方案2】:

    在对象字面量中,逗号将一个属性与下一个属性分开。您必须在每个属性之后都有这些,除了最后一个。

    const example = {
      foo: 1,
      bar: 2,
      baz: 3
    };
    

    也允许在最后一项后使用“尾随逗号”。 有些人更喜欢将它放在最后一行的样式。

    const example = {
      foo: 1,
      bar: 2,
      baz: 3,
    };
    

    您的代码在单属性对象的最后一行显示了一个带有逗号的示例。

    【讨论】:

    • 用调查结果更新了我的问题
    猜你喜欢
    • 2013-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-07
    • 1970-01-01
    相关资源
    最近更新 更多