React中Hello World无法运行,请求定位代码中的Bug
排查React Hello World代码无法运行的问题
Hey,我瞅见你的React Hello World代码没法正常跑起来了,问题其实出在一个超容易忽略的小细节上——getElementById的参数里多了个#符号!
先看你main.js里的这行代码:
ReactDOM.render(<h1>Hello World</h1>, document.getElementById("#app"));
这里的核心错误是:document.getElementById()方法接收的是元素的纯ID字符串,不需要带#前缀。你加了#之后,浏览器会去找ID为#app的元素,但你的index.html里明明是<div id="app"></div>,根本不存在这个ID的元素,自然就没法把React组件渲染进去了。
只要把代码改成下面这样就能正常运行:
ReactDOM.render(<h1>Hello World</h1>, document.getElementById("app"));
顺带说一句,你的index.html配置是没问题的:React 17的开发版CDN链接、Babel转换脚本都正确引入了,script标签也加了type="text/babel"来处理JSX语法,所以只要修正ID的问题,页面就能顺利显示"Hello World"啦~
内容的提问来源于stack exchange,提问作者gianni404
相关产品推荐
相关产品推荐

