📜  如何在 ReactJS 中将功能组件转换为类组件?

📅  最后修改于: 2022-05-13 01:56:43.690000             🧑  作者: Mango

如何在 ReactJS 中将功能组件转换为类组件?

如果我们想将函数组件转换为类组件,那么我们需要进行以下主要更改。

  1. 将函数更改为类
  2. 添加渲染方法
  3. 将所有函数转换为方法
  4. 添加构造函数
  5. 用生命周期方法替换钩子

创建反应应用程序:

  • 第 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/ ,您将看到以下输出: