我刚开始尝试学习 reactjs 并找到了一些教程。他们都告诉我跑步npx create-react-app .
之类的。我遇到的问题是,当我看到他们的 App.js 时,他们都有类,而我的有function App() {...}
而不是class App extends Component
. 与导入语句相同。他们说import React, { Component } from 'react'
,而我的说import React from 'react'
我不确定出了什么问题,我该如何解决?
问问题
641 次
1 回答
0
有多种方法可以定义 React 组件——作为类组件或函数组件。
如今,后者,函数组件,主要是首选方式,除非你想用组件的生命周期方法做一些真正花哨的事情。
不过,类组件仍然有效,您会经常在较早的在线教程中找到它们。
Create react app 创建一个功能组件App
来帮助您入门:
import React from 'react';
import logo from './logo.svg';
import './App.css';
function App() {
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<p>
Edit <code>src/App.js</code> and save to reload.
</p>
<a
className="App-link"
href="https://reactjs.org"
target="_blank"
rel="noopener noreferrer"
>
Learn React
</a>
</header>
</div>
);
}
export default App;
这可以重写为类组件,如下所示:
import React, { Component } from "react";
import logo from "./logo.svg";
import "./App.css";
class App extends Component {
render() {
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<p>
Edit <code>src/App.js</code> and save to reload.
</p>
<a
className="App-link"
href="https://reactjs.org"
target="_blank"
rel="noopener noreferrer"
>
Learn React
</a>
</header>
</div>
);
}
}
export default App;
正如你所看到的,它稍微有点冗长,但它是完全有效的。
您可以将函数替换为您在所遵循教程的示例代码中找到的类。
Component
除了 之外,别忘了导入react
,在这种情况下——对于类组件,这是必要的,因为类需要扩展Component
。
于 2019-05-12T06:28:05.300 回答