如何在 ReactJS 中将功能组件转换为类组件?
如果我们想将函数组件转换为类组件,那么我们需要进行以下主要更改。
- 将函数更改为类
- 添加渲染方法
- 将所有函数转换为方法
- 添加构造函数
- 用生命周期方法替换钩子
创建反应应用程序:
第 1 步:使用以下命令创建一个 React 应用程序:
npx create-react-app foldername
第 2 步:创建项目文件夹(即文件夹名称)后,使用以下命令移动到该文件夹:
cd foldername
项目结构:它将如下所示。
示例:功能组件
在App.js文件中写下以下代码。在这里,App 是我们编写代码的默认组件。
App.js
import React, { useState } from 'react';
function App(props) {
const [counter, setCounter] = useState(0);
const myFunction = (e) => {
alert("The value of counter is " + counter)
setCounter(counter + 1);
}
return (
Hello, {props.name}
);
}
export default App;
App.js
import React, { useState } from 'react';
class App extends React.Component {
constructor(props) {
super(props)
this.state = {
counter: 0
}
this.myFunction = this.myFunction.bind(this);
}
myFunction(e) {
alert("The value of counter is " + this.state.counter)
this.setState({ counter: this.state.counter + 1 })
}
render() {
return (
Hello From GFG
);
}
}
export default App;
运行应用程序的步骤:从项目的根目录使用以下命令运行应用程序:
npm start
输出:现在打开浏览器并转到http://localhost:3000/ ,您将看到以下输出:
示例:类组件
使用上述步骤将函数组件转换为类组件,我们在App.js文件中编写了以下代码。
应用程序.js
import React, { useState } from 'react';
class App extends React.Component {
constructor(props) {
super(props)
this.state = {
counter: 0
}
this.myFunction = this.myFunction.bind(this);
}
myFunction(e) {
alert("The value of counter is " + this.state.counter)
this.setState({ counter: this.state.counter + 1 })
}
render() {
return (
Hello From GFG
);
}
}
export default App;
运行应用程序的步骤:从项目的根目录使用以下命令运行应用程序:
npm start
输出:现在打开浏览器并转到http://localhost:3000/ ,您将看到以下输出: