JSX元素' h1'没有相应的结束标记

时间:2017-11-07 15:18:10

标签: reactjs visual-studio-code

我正在使用Visual Studio Code来学习ReactJs,但我不知道为什么我会得到HTML代码" JSX元素没有相应的结束标记"错误。请看图片。

enter image description here

代码在Visual Studio Code IDE中保存文件之前

import React from 'react';
import ReactDOM from 'react-dom';

class HelloWorld extends React.Component {
    render() {
        return ( 
            <h1>Hello React</h1>
        )
    }
}

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

在Visual Studio Code IDE中保存文件后的代码

import React from 'react';
import ReactDOM from 'react-dom';

class HelloWorld extends React.Component {
    render() {
        return ( <
            h1 > Hello React < /h1>
        )
    }
}

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

5 个答案:

答案 0 :(得分:1)

我有一个类似的问题。每次保存代码时,我的代码都会重新格式化,从而导致与问题所引起的错误类似的错误。我通过有选择地禁用我在VS Code中安装的代码格式扩展来解决此问题。我发现禁用HookyQR的“ Beautify”扩展名可以解决问题。

注意:我发现您可以禁用所有VS Code实例的扩展,也可以仅禁用工作区的扩展,从而使您可以在每个工作区的基础上将其保持活动状态。

答案 1 :(得分:1)

就我而言,我将 js 的文件扩展名更改为 ts 并将其更改回 js 并解决了问题。 我认为 vs code 混淆了 typeScript 和 JavaScript。

答案 2 :(得分:0)

发生在我身上。禁用了许多主题和其他附加组件(很多)。没用重新安装Prettier:效果很好。

答案 3 :(得分:0)

确保将Prettier安装为最后一个扩展。

如果您已经安装了Prettier:

  • 卸载更漂亮

  • 重新启动VS代码

  • 安装更漂亮的

  • 重新启动VS代码

这为我解决了问题,现在“保存时格式化”有效!

答案 4 :(得分:0)

我遇到了同样的问题。当我保存文件时,它被我使用的格式化程序重新格式化(更漂亮)。我卸载了它并重新打开 Visual Studio 代码。它对我有用!