首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JS引用最佳实践?ES6 / React单打,双打,后排?

JS引用最佳实践?ES6 / React单打,双打,后排?
EN

Stack Overflow用户
提问于 2017-05-26 18:30:26
回答 3查看 24.6K关注 0票数 17

当然,所有这些工作,但是在一个jsx文件中,ES6的最佳实践是哪一个呢?(忽略格式)。据我所知,模板字符串主要是指(仅仅是?)用于描述性控制台日志记录,而不是用于常规使用?

代码语言:javascript
复制
<div className={`dropdown-menu dropdown-menu-media`}/>
<div className={"dropdown-menu dropdown-menu-media"}/>
<div className={'dropdown-menu dropdown-menu-media'}/>

我意识到单引号和双引号之间没有功能上的区别(除非你在两者之间交替以避免逃避)。但是..。这种或那种是比较普遍的,还是“完全”是‘品味’的问题?也就是说,如果您正在浏览代码,并且看到单引号和双引号在相同的情况/用法中随机更改,则必须使其统一,您将使用哪一个?

代码语言:javascript
复制
const inputProps = {
      onChange: this.onChange,
      className: 'form-control',
      id: "someId",
      status: 'active',
      isOpen: "open"
    };
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-05-26 20:08:43

在使用JSX时,最佳实践是直接使用双引号(无大括号),如果只是一个简单的字符串,则使用回勾(如果将变量插入到字符串中)。

JSX试图模仿HTML属性,使其在第一次学习时更容易访问,除此之外,我发现它在扫描代码时提供了JSX属性和普通字符串之间的清晰的视觉区别,因为它们的语法可能突出显示相同的颜色。

在更普遍的用法中..。

Backticks是模板文字的ES6介绍,除非您想要执行多行字符串,否则应该只使用它。

单引号和双引号之间没有任何区别,不过,在我的经验中,很长一段时间以来,人们一直倾向于使用单引号(由指针支持),仅仅是因为它减少了可读性代码的混乱。

坚持跨项目的单一代码样式并通过linting强制执行也是一个好主意,因为这样可以减少转义错误。

它通常取决于您使用过的其他语言,因为有些语言允许在其中一种或另一种语言中进行插值,例如,单引号表示char而不是String

不管有什么价值,这是我对上述原因的偏爱.

代码语言:javascript
复制
const awardWinningActor = 'Nic Cage'

const oscarNight = `And the award for Best Actor goes to ${awardWinningActor}`

const winnersSpeech = `Some really long but also totally awesome amazing speech
and also possibly some screaming and a leather jacket slung into the crowd`

<NicCage oscarFor="Best Actor" says={`Here's my ${winnersSpeech}`}} />
票数 23
EN

Stack Overflow用户

发布于 2017-05-26 18:42:30

他们都不是。

代码语言:javascript
复制
<div className="dropdown-menu dropdown-menu-media"/>

双引号字符串文字,当它们是JSX属性时。不要将表达式{}块包装起来。

对于动态类名,请使用类名包,而不是字符串连接。

代码语言:javascript
复制
<div className={
    classNames('dropdown-menu dropdown-menu-media', this.props.className)
}/>
票数 3
EN

Stack Overflow用户

发布于 2017-05-26 18:39:30

单引号或双引号是等价的,两者之间没有区别,当您希望字符串中的单词有双引号时,它们提供了一个用例,然后可以用单引号包装整个字符串,反之亦然。但是,当您想要与字符串一起解析变量时,通常使用回溯。

例如

代码语言:javascript
复制
const inputProps = {
      onChange: this.onChange,
      className: 'form-control',
    };

<div className={`dropdown-menu dropdown-menu-media ${inputProps.className}`}/>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44208081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档