React组件定义

一、定义

组件是是构建用户界面(UI)的基础,它可以是一个输入框、按钮、也可以是一整个页面。组件可以分为以下2种类型:

1、函数组件(Functional Components)

顾名思义就是用来函数定义的组件,是一种简单灵活的组件形式,又叫无状态组件。函数组件接收一个props对象作为参数,返回一个React元素作为输出。

2、类组件(Class Components)

是一种更加复杂的组件形式,通过继承React.Component类来定义组件。类组件有自己的状态和生命周期方法,提供了更多的功能和控制权。

二、创建React组件

1、函数组件

复制代码
function handleClick()  {
  console.log('登录了');
};
export default function Login (props){
  return (
    <div>
      <button className="btn" style={{'background':'red'}} onClick={handleClick}>登录{props}</button>
    </div>
  );
}

或者使用箭头函数

复制代码
const handleClick = () => {
  console.log('登录了');
};
const Login = (props) => {
const {name} = props;
  return (
    <div>
    <span>{name}</span>
      <button className="btn" style={{'background':'red'}} onClick={handleClick}>登录{props}</button>
    </div>
  )
};
export default Login;

2、类组件

复制代码
import  { Component } from 'react';

class Settings extends Component {
  constructor(props) {
    super(props);
    this.state = {
      name: props.name,,
      msg:'生死看淡,不服就干'
    };
  }

  handleClick = () => {
    this.setState({ name: '你好啊, React!' });
  }
  render() {
    return (
      <div>
        <h1 className="title" style={{color:'green'}}>{this.state.name}</h1>
        <h6>{this.state.msg}</h6>
        <button onClick={this.handleClick}> 点击 </button>
      </div>
    );
  }
}

export default Settings;

三、引入使用React组件

复制代码
import { useState } from 'react'
import Login from './views/login/index.jsx';
import Settings from './views/settings/index.jsx';
function App() {
  const [count, setCount] = useState(0);
  return (
    <div>
      <Login name="LoginPage"/>
      <Settings name="SettingsPage"/>
    </div>
  )
}

export default App;
相关推荐
胡哈13 分钟前
React Compiler:让开发者忘掉 memo 这件事
前端·react.js
林恒smileZAZ32 分钟前
`Array(100).map(() => 1)` 为什么全为空?
前端·javascript
laowang3573 小时前
依赖故障时,日志体系需要埋哪些关键节点才能快速定位是安装失败、解析失败还是运行时缺失?
前端·javascript·vue.js·webpack·node.js
光影少年3 小时前
react navite JSBridge 通信机制、异步通信特点
react native·react.js·掘金·金石计划
༄沐࿆风࿆࿆4 小时前
JavaScript函数完全指南:从基础语法到闭包原理与应用实战
开发语言·javascript
finyouIT5 小时前
锚点实现了点击导航平滑滚动到页面指定位置的三种方法
javascript·css
我是大卫7 小时前
React源码解析-第三部分:协调与提交
前端·react.js·源码
神奇的代码在哪里7 小时前
AI编程时代,PPT已成为过去,单个HTML文件创造无限可能
javascript·html·powerpoint·ai编程·ppt
Highcharts7 小时前
从 ECharts 平滑迁移 Highcharts的配置映射与踩坑手册
前端·javascript
用户852495071847 小时前
从零打造 Agent 智能体:LLM + Tool + Memory,让大模型真正帮你干活
javascript·后端