【问题标题】:VisualStudio Code marks error in React code to close html tagVisualStudio Code 在 React 代码中标记错误以关闭 html 标记
【发布时间】:2017-06-08 16:16:40
【问题描述】:

我正在尝试在 VisualStudio Code 下运行基本的 React helloworld 应用程序

import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
import registerServiceWorker from './registerServiceWorker';
import './index.css';

ReactDOM.render( < App / > , document.getElementById('root'));
registerServiceWorker();

var element = < h1 > abcd < /h1>;

ReactDOM.render(element, document.getElementById('root'));

当我在命令行中运行它时,一切正常,但我想知道为什么 VisualStudio Code 在行标记错误:(保存后)

var element = < h1 > abcd < /h1>;

并且声称,打开的标签应该被关闭。

这是我的配置(因为我认为这是 IDE 特定问题)

{
    "workbench.colorTheme": "Visual Studio Dark",
    "workbench.iconTheme": "vscode-icons",
    "terminal.integrated.shell.windows": "C:\\windows\\Sysnative\\WindowsPowerShell\\v1.0\\powershell.exe",
    "emmet.syntaxProfiles": { "javascript": "jsx" }
}

当我用谷歌搜索解决方案时,所有答案都只是说只添加结束 html 标记。

【问题讨论】:

    标签: reactjs visual-studio-code


    【解决方案1】:

    很简单,您添加了不必要的空白:

    var element = < h1 > abcd < /h1>; // BAD
    var element = <h1>abcd</h1>; // GOOD :)
    

    我强烈建议保留它作为避免添加这些额外空格的好习惯,这会使您的编辑器难以将其解析为实际的HTML/JSX。我也在使用 VSCode,如果我在你的示例中使用空格,它甚至无法将其识别为正确的 JSX

    【讨论】:

    • 很好的答案,但是 VSCode 会在保存后自动插入它们(Ctrl+S)
    • 保存后自动添加空格?可能是你缺少 jsx, babel 插件。
    • 尝试删除emmet 配置,然后检查您是否有可能导致此问题的插件,您可以尝试停用其中一些,看看是否再次发生。
    • 禁用自动缩进解决了这个问题,我会在其他时间调查真正的根本原因。谢谢你的提示!
    猜你喜欢
    • 2018-01-09
    • 1970-01-01
    • 2014-10-31
    • 1970-01-01
    • 2017-10-23
    • 2013-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多