javascript - 在 React 中创建/使用组件的差异
问题描述
我一直在按照几个不同的教程学习 React,我注意到创建组件时存在一些差异。
在一个 App.js 文件中,组件的制作如下:
import React, { Component } from "react";
import { BrowserRouter as Router, Route } from 'react-router-dom';
import ListEmployees from "./components/listEmployees";
class App extends Component {
render() {
return (
<Router>
<div className="App">
<Route exact path="/" component={ListEmployees} />
</div>
</Router>
)
}
}
export default App;
而在另一个项目中,组件的创建方式如下:
import React, { Fragment, Component } from "react";
import { BrowserRouter as Router, Route } from 'react-router-dom';
import './App.css';
import ListEmployees from "./components/listEmployees";
import displayNavbar from "./components/navbar";
const App = () => {
return (
<Fragment>
<div className="container">
<ListEmployees />
</div>
</Fragment>
)
}
export default App;
这两个组件之间有什么区别,使用一种方法比另一种方法有什么优势?
解决方案
您给出的第一个示例是一个类组件。第二个是功能组件。
类组件是制作组件的原始方式。根据 Facebook 的说法,功能组件是未来。
推荐阅读
- spring - 有没有办法在不从数据库中检索对象的情况下将对象添加到 spring 的持久性上下文中?
- java - 使用 navigationComponent 保留 BottomNavigationView 中哪个片段处于活动状态
- octave - 'endif' 命令与 octave 中的 'endfor' 问题匹配
- php - 除非我检查元素,否则不会设置 Cookie
- jaxb - JAXB - 以小写字母开头的重复元素
- python - 有效地从熊猫字典列中提取数据
- pandas - Pandas DataFrame 和系列 - IB TWS 历史数据
- perl - 用不一致的记录分隔符/行读入文件
- sql - Oracle SQL:在 CASE 语句中使用相同的别名在一种情况下选择一列,在其他两列和另外三列中选择相同的别名
- sql - 在 SQL 中选择列值和下一个最高列值