当前位置: 首页 > 知识库问答 >
问题:

为什么jsx代码格式不正确

刁远
2023-03-14

vscode是我最喜欢的编辑器,我有一个代码格式化问题。这是我的jsx代码:

return <div className={panelHeadingClassName}>
    <h3 className={style.panelTitle}>
        <i className={iconStyle[iconClass]}></i>
        {title}
        <small className={style.panelSubTitle}>{subTitle}</small>
    </h3>
</div>

当我使用选项shiftF格式化它时,它给出了以下信息:

return <div className = {
  panelHeadingClassName
} >
<
h3 className = {
  style.panelTitle
} >
<
i className = {
  iconStyle[iconClass]
} > < /i> {
  title
} <
small className = {
  style.panelSubTitle
} > {
  subTitle
} < /small> <
/h3> <
/div>

显然,这是不正确的。

vscodeversion-v1.10.2,并且不安装任何代码格式扩展。

所以,我不想安装任何代码格式化扩展,vscode是否有任何配置可以正确执行此操作?

--更新--

抱歉。我检查了我的扩展安装,找到了美化扩展。但是为什么我使用vscode代码格式,它使用美化

共有3个答案

明宜年
2023-03-14

安装Pretier(如果未安装),并尝试将其添加到您的用户或工作场所设置:

"prettier.jsxBracketSameLine": true

不要在返回和返回的JSX表达式之间放置换行符。触发自动格式化(Alt Shift F),并检查是否有效。

慕阳文
2023-03-14

选择右下角的语言作为“脚本反应”。

更好的方法是将js文件重命名为jsx

辛可人
2023-03-14

正如您所注意到的,美化扩展是此处的根本原因(请参阅此问题)。该扩展提供了一个文档格式化程序,当您运行格式化命令时,VSCode 将运行该格式化程序

几个选项:

    < li >禁用扩展功能 < li >通过从< code >“美化.语言”设置中删除< code>js条目,仅对js文件禁用美化功能 < li >确保您的文件具有< code>javascriptreact语言模式。我相信这将防止美化运行在文件上
 类似资料:
  • 在安装并启用了ESlint和Prettier的Nuxt应用程序中,我切换到了Visual Studio代码。 当我打开一个.vue文件并按cmd+shift+p并选择格式化文档时,我的文件根本不会被格式化。 My.Prettierrc设置: 我有这么多的源代码行,所以我不能手动格式化它们。我做错了什么?

  • 问题内容: 我的index.js中有以下代码段 该代码有效,但是每次我保存(ctrl + s)visual studio格式的jsx时,就像这样: 我该如何解决?谢谢 问题答案: 最后,技巧是将底部工具栏上的文件格式从JavaScript更改为JavaScript React。我没有在此主题上找到任何文档,因此将其发布在这里以供将来参考。 除了以上。如果单击“为.js配置文件关联”,则可以将所有.

  • 问题内容: JSX代表什么? 我指的是JSX,它被定义为ECMAScript的类似于XML的语法扩展,随着ReactJS的日益流行,它已变得非常流行。 问题答案: JSX代表 _ Ĵ AVA 小号 CRIPT X ML_。使用React,它是元素和组件的类似XML的代码的扩展。根据React文档,正如您提到的: JSX是ECMAScript的类似于XML的语法扩展,没有任何定义的语义 从上面的引用

  • JSX代表什么? 我指的是JSX,它被定义为ECMAScript的类似XML的语法扩展,随着ReactJS的日益普及,它变得非常流行。

  • 问题内容: 我正在尝试在JSX内部使用pre标签。当您在JSX中使用pre标签时,它根本不格式化。为什么?为了使用pre标签,我需要执行以下操作: 为什么? 问题答案: 使用模板文字 模板文字允许使用多行字符串,以保留前导/尾随空格和换行符。

  • 我发现了一个很受欢迎的问题的答案,下面的代码是: 为什么...是必需的?如果我省略了,巴别就会对我抱怨说: 它看起来像扩展语法,但是一个布尔值。我找不到能解释到底发生了什么的医生。