React教程

React 组件

早期,开发人员编写了数千行代码来开发单个页面应用程序。这些应用程序遵循传统的DOM结构,因此在其中进行更改是一项非常具有挑战性的任务。如果发现任何错误,它将手动搜索整个应用程序并进行相应更新。引入了基于组件的方法来克服一个问题。在这种方法中,整个应用程序被划分为一小段逻辑代码,称为组件。
组件被视为React应用程序的核心构建块。它使构建UI的任务变得更加容易。每个组件都存在于同一空间中,但它们彼此独立工作,并全部合并到一个父组件中,这将是应用程序的最终用户界面。
每个React组件都有自己的结构,方法如下: 以及API。它们可以根据您的需要进行重用。为了更好地理解,请将整个用户界面视为一棵树。在这里,根是开始组件,其他每个部分都变成了分支,并进一步分成了子分支。
React Components
在ReactJS中,我们主要有两种类型的组件。他们是
功能组件 类组件

功能组件

在React中,功能组件是一种编写仅包含render方法且没有自己状态的组件的方法。它们只是JavaScript函数,可能会也可能不会接收数据作为参数。我们可以创建一个将props(properties)作为输入并返回应呈现内容的函数。有效的功能组件可以在下面的示例中显示。
function WelcomeMessage(props) {
  return <h1>Welcome to the , {props.name}</h1>;
}
该功能组件也称为无状态组件,因为它们不保存或管理状态。可以在下面的示例中进行解释。

示例

import React, { Component } from 'react';
class App extends React.Component {
   render() {
      return (
         <div>
            <First/>
            <Second/>
         </div>
      );
   }
}
class First extends React.Component {
   render() {
      return (
         <div>
            <h1>lidihuo</h1>
         </div>
      );
   }
}
class Second extends React.Component {
   render() {
      return (
         <div>
            <h2>www.lidihuo.com</h2>
            <p>this websites contains the great CS tutorial.</p>
         </div>
      );
   }
}
export default App;
输出:
React组件

类组件

类组件比功能组件更复杂。它需要您从React扩展。组件并创建一个渲染函数,该函数返回一个React元素。您可以将数据从一个类传递到其他类组件。您可以通过定义扩展Component并具有render函数的类来创建类。有效的类组件显示在下面的示例中。
class MyComponent extends React.Component {
  render() {
    return (
      <div>this is main component.</div>
    );
  }
}
该类组件也称为有状态组件,因为它们可以保存或管理本地状态。可以在下面的示例中进行解释。

示例

在此示例中,我们将创建无序元素的列表,在该列表中,我们将为每一个元素动态插入StudentName数据数组中的对象。在这里,我们使用的ES6箭头语法(=>)看上去比旧的JavaScript语法干净得多。它可以帮助我们用更少的代码行来创建元素。当我们需要创建包含很多项目的列表时,它特别有用。
import React, { Component } from 'react';
class App extends React.Component {
 constructor() {
      super();
      this.state = {
         data: 
         [
            {           
               "name":"Abhishek"           
            },
            {          
               "name":"Saharsh"           
            },
            {  
               "name":"Ajay"        
            }
         ]
      }
   }
   render() {
      return (
         <div>
            <StudentName/>
            <ul>          
                {this.state.data.map((item) => <List data = {item} />)}         
            </ul>
         </div>
      );
   }
}
class StudentName extends React.Component {
   render() {
      return (
         <div>
            <h1>Student Name Detail</h1>
         </div>
      );
   }
}
class List extends React.Component {
   render() {
      return (
         <ul>          
            <li>{this.props.data.name}</li> 
         </ul>
      );
   }
}
export default App;
输出:
React组件
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4