【发布时间】:2020-09-02 23:35:10
【问题描述】:
【问题讨论】:
-
最好将代码作为代码而不是图像放在此处。
【问题讨论】:
我不确定您的文件结构如何,但是当您初始化 React 项目时,“App.js”和“index.js”应该在您的根目录中。然后您将 App 导入为import App from './App';
【讨论】:
参考这个问题:Expected an identifier and instead saw '>'
"JSHint 不支持 jsx 的 linting。如果你想使用 jsx 开发 react 应用程序,你应该禁用它或更好地切换到 ESLint。
对于 Visual Studio Code,您可以安装一个插件。"
在您的设置 > 用户设置中,如果还没有,请添加它。
"jshint.options": {
"esversion":6
}
【讨论】:
如果 JSX 没有被正确编译,就会出现这个错误。见例子:
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.8.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.8.3/umd/react-dom.production.min.js"></script>
<div id="root"></div>
<script>
function App() {
return (
<div>Sample Component</div>
);
}
ReactDOM.render(<App/>, document.getElementById("root"))
</script>
要解决这个问题,使用Babel等技术来启用JSX语法
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.8.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.8.3/umd/react-dom.production.min.js"></script>
<script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
<div id="root"></div>
<script type="text/babel">
function App() {
return (
<div>Sample Component</div>
);
}
ReactDOM.render(<App/>, document.getElementById("root"))
</script>
【讨论】: