【发布时间】:2019-06-22 00:03:54
【问题描述】:
我对 reactjs 很陌生,我正在复制一个教程(链接:https://www.youtube.com/watch?v=Ke90Tje7VS0)。我目前在 Windows 上并在 cmd 上执行了以下操作(根据教程):
npm i -g create-react-app@1.5.2
create-react-app
文件/目录等都已安装,但我注意到我的 App.js 具有以下语法:
function App()
{
return(...);
}
虽然本教程(和许多其他演示)中的 App.js 使用这种语法,但据我了解它是 ES6:
class App extends Component
{
render()
{
return(...);
}
}
我尝试将此语法复制到我的 App.js 上,但随后我的 react 应用程序(通过在 cmd 中键入 npm start)坏了。我该如何解决这个问题(即在不破坏我的项目的情况下使用 ES6 代码)?它是否与我上面的代码具有完全相同的功能?
这是我的错误信息:
Line 8: Parsing error: Unexpected token
6 | class App extends Component {
7 | return (
> 8 | <div className="App">
| ^
9 | <header className="App-header">
10 | <img src={logo} className="App-logo" alt="logo" />
11 | <p>
我真的怀疑这是一个解析错误,JSX 在 function App() 上运行良好,但是当我将其更改为 class App extends Component 而没有触及其他任何东西时,程序就崩溃了。
【问题讨论】:
-
可能,你需要从 React 中导入
Component和import React, { Component } from "react";?如果没有,您能否包含您收到的错误消息? -
我的错,我把它错误地复制到我的帖子上,但我的实际代码使用小写的“扩展”,它不起作用
-
@HenryWoody 我将您的代码添加到了我的 App.js 的顶部,我得到了与以前相同的“解析错误”:第 8 行:解析错误:意外令牌。我强烈怀疑这是一个解析错误,因为我只将函数 App() 更改为类 App 扩展组件。 (函数 App() 工作得很好)
-
您能否编辑问题以包含有关错误消息的更多信息,例如行号等(例如发布完整的回溯)
-
当然,我就是这么做的(我不是想将一整块未格式化的代码复制粘贴到该评论中,我的坏笑)
标签: javascript node.js reactjs create-react-app