React 组件的根本使用,useState 状态变量的使用

[复制链接]
发表于 2026-1-23 18:10:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
React 组件

组件是什么

##### 概念:一个组件就是用户界面的一部分,它可以有本身的逻辑和表面,组件之间可以相互嵌套,也可以多次复用。
在 React,一个组件就是首字母大写的函数,内部存放了组件的逻辑和视图 UI,渲染组件只须要把组件当成标签誊写即可
  1. // 定义一个组件
  2. function MyButton() {
  3.   // 组件的内部逻辑和视图 UI
  4.   return <button>Click me</button>
  5. }
  6. // 使用组件
  7. function App() {
  8.   return (
  9.     <div>
  10.       <MyButton />
  11.     </div>
  12.   )
  13. }
复制代码
## `useState`的根本使用
useState是React提供的Hook,可以让我们在函数组件中维护状态。

它答应我们向组件添加一个状态变量,从而控制影响组件的渲染结果。
本质:宁静常 js 变量差别,状态变量一旦发生厘革组件的视图UI也会跟着厘革
  1. /**
  2. * 项目的根组件
  3. *
  4. * useState 状态管理
  5. *
  6. * 实现一个计数器按钮
  7. */
  8. import { useState } from "react";
  9. export default function App() {
  10.   // 1. 调用 useState 状态管理函数,创建计数器状态和更新计数器状态的函数
  11.   const [count, setCount] = useState(0);
  12.   // 2. 实现计数器按钮的点击事件
  13.   const handleClick = () => {
  14.     /**
  15.      * 作用:1. 用传入的新值修改 count
  16.      *       2. 重新使用新的 count 值渲染组件
  17.      */
  18.     setCount(count + 1);
  19.   };
  20.   // 3. 渲染计数器按钮和当前计数器值
  21.   return (
  22.     <div>
  23.       <h1>计数器:{count}</h1>
  24.       <button onClick={handleClick}>点击增加</button>
  25.     </div>
  26.   );
  27. }
复制代码

  • useState 是一个函数,返回值是一个数组。
  • 数组中的第一个参数是状态变量,第二个参数是 set 函数,用来更新状态变量。
  • useState 的参数将作为 count 的初始值。
useState 的修改状态规则

状态不可变

在 React 中,状态被以为是只读的,我们应该始终更换他而不是修改它,直接修改状态不能引发视图更新
  1. const [count, setCount] = useState(0);
  2. const handleClick = () => {
  3.   // count++; // 错误,不能直接修改状态
  4.   /**
  5.    * 作用:
  6.    *  1.用传入的新值修改 count
  7.    *  2.重新使用新的 count 值渲染组件
  8.    */
  9.   setCount(count + 1);
  10. }
复制代码
修改对象状态

##### 规则:对于对象范例的状态变量。应该始终传给 set 函数一个新的对象来举行修改。
  1. const [obj, setObj] = useState({ name: "张三", age: 20 });
  2. const handleClick = () => {
  3.   // 错误,不能直接修改对象
  4.   // obj.name = 'Join'
  5.   // 正确,传给 set 函数一个新的对象
  6.   setObj({...obj, name: 'Join' });
  7. }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表