You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS Code对合法React语法的JSX报错,求排查解决方法

问题

VS Code一直把我的代码标记为错误,但我没找到语法问题,到底忽略了什么?

已尝试的操作:

  • 调整右下角语言类型为"JavaScript JSX"
  • 禁用所有扩展后打开文件,问题仍存在
  • 重装VS Code
  • 重启电脑
  • 过程中快崩溃了

该文件在浏览器中能正常打开并渲染内容,代码如下:

<html>  
  <body>    
    <div id="app"></div>    
    <script src="https://unpkg.com/react@18/umd/react.development.js"></script>    
    <script src="https://unpkg.com/react-dom@18/umd/react-dom.development.js"></script>    
    <script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>    
    <script type="text/jsx">      
      const app = document.getElementById('app');      
      function Header() {        
        return (<h1>Why error?!?</h1>);      
      }      
      function HomePage() {        
        return (          
          <div>            
            <Header />          
          </div>;        
        )      
      }      
      const root = ReactDOM.createRoot(app);      
      root.render(<Header />);    
    </script>  
  </body>
</html>
解决方法

问题出在HomePage函数的return语句里——<div>标签后面多了一个不必要的分号;。

浏览器里的Babel Standalone会宽容忽略这个小问题,让代码正常跑起来,但VS Code的JSX语法检测更严格,这种多余的分号属于语法冗余,会被标记为错误。

把这个分号删掉就好了,修正后的HomePage函数如下:

function HomePage() {        
  return (          
    <div>            
      <Header />          
    </div>        
  )      
}

内容的提问来源于stack exchange,提问作者Gray Griswold

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 00:57:16