02 React 组件使用

js 复制代码
import React, { useState } from 'react';

// 定义一个简单的函数式组件
function Counter() {
  // 使用 useState hook 来创建一个状态变量 count,并提供修改该状态的函数 setCount
  const [count, setCount] = useState(0);

  // 在点击按钮时增加计数器的值
  const incrementCount = () => {
    setCount(count + 1);
  };

  // 在点击按钮时减少计数器的值
  const decrementCount = () => {
    setCount(count - 1);
  };

  return (
    <div>
      <h2>计数器</h2>
      <p>当前计数:{count}</p>
      {/* 点击按钮时触发 incrementCount 函数 */}
      <button onClick={incrementCount}>增加</button>
      {/* 点击按钮时触发 decrementCount 函数 */}
      <button onClick={decrementCount}>减少</button>
    </div>
  );
}

// 使用 Counter 组件的例子
function App() {
  return (
    <div>
      <h1>React 组件示例</h1>
      {/* 渲染 Counter 组件 */}
      <Counter />
    </div>
  );
}

export default App;

更新复杂对象示例

js 复制代码
import React, {useState} from 'react';

function ComplexObjectExample() {
    // 定义初始状态,一个包含姓名和年龄的复杂对象
    const [person, setPerson] = useState({name: 'John', age: 30});

    // 更新姓名的函数
    const updateName = () => {
        // 使用对象解构来创建一个新的 person 对象,并只更新姓名
        setPerson({...person, name: 'Jane'});
    };

    // 更新年龄的函数
    const updateAge = () => {
        // 使用对象解构来创建一个新的 person 对象,并只更新年龄
        setPerson({...person, age: 35});
    };

    return (
        <div>
            <h2>Person Information</h2>
            <p>Name: {person.name}</p>
            <p>Age: {person.age}</p>
            <button onClick={updateName}>Update Name</button>
            <button onClick={updateAge}>Update Age</button>
        </div>
    );
}

// 使用 Counter 组件的例子
function App() {
    return (
        <div>
            <h1>React 组件示例</h1>
            {/* 渲染 Counter 组件 */}
            <ComplexObjectExample/>
        </div>
    );
}

export default App;
相关推荐
DianSan_ERP6 小时前
电商架构演进:如何在高并发场景下实现多平台API的标准化履约?
运维·前端·网络·安全·架构·自动化
碎_浪9 小时前
给键盘党的英语记忆工具:我做了一款「打字背单词」桌面应用
前端·程序员·ai编程
阿成学长_Cain10 小时前
Linux dirs命令详解|Bash目录堆栈管理快速切换目录实战教程
linux·运维·前端·数据库
多加点辣也没关系10 小时前
JavaScript|第4章:类型转换
开发语言·javascript
yqcoder10 小时前
httpOnly 是什么,又有什么用?
开发语言·前端·javascript
IT_陈寒10 小时前
Java的Stream.parallel()把我CPU跑爆了,这种优化要谨慎
前端·人工智能·后端
小皮虾11 小时前
小程序首页性能优化实战:从 4 秒到 1.8 秒
前端·微信小程序
烬羽11 小时前
还在手动拼路径、写回调地狱?一文吃透 Node.js 的 path 和 fs
javascript·程序员·node.js
山河木马11 小时前
GPU自动处理专题1-裁剪到底在裁什么(裁剪)
前端·webgl·计算机图形学