当前位置: 首页 > news >正文

React 中 useState 的 基础使用

概念:useState 是一个React Hook(函数),它允许我们向组件添加状态变量,从而影响组件的渲染结果。

本质:和普通JS变量不同的是,状态变量一旦发生变化,组件的视图UI也会跟着变化(数据驱动视图)。react没有双向绑定,所以要使用useState,vue可以直接使用变量 就会双向绑定。

// 用useState给组件添加状态变量,以实现一个计数器按钮
import { useState } from "react";function App() {//第一步,调用useState添加一个状态变量//count是状态变量,setCount是用来修改状态变量的方法,其参数为状态变量的初值const [count, setCount] = useState(0);//第二步,点击事件调用setCount方法//作用:1、用传入的新值修改count 2、重新用新的count渲染UIconst handleClick = () => {setCount(count + 1);};return (<div className="App"><button onClick={handleClick}>{ count }</button></div>);
}export default App;

修改状态的规则

规则:在React中,状态被认为是只读的,我们应该始终替换它而不是修改它,直接修改状态不能引发视图更新。

 修改对象状态

规则:对于对象类型的状态变量,应该始终传给set方法一个全新的对象来进行修改。

// 用useState给组件添加状态变量,以实现一个计数器按钮
import { useState } from "react";function App() {const [count, setCount] = useState(0);const handleClick = () => {setCount(count + 1);};//修改对象状态const [form, setForm] = useState({name: 'jack'});const changeForm = () => {//setForm()函数会用新对象替换旧对象, 但是这里新对象相对于老对象只是修改了name属性, 其他属性保持不变//...是展开运算符, 用来把form对象的所有键值对展开到新对象中. 然后重新设置了name属性setForm({...form, name: 'rose'});}return (<div className="App"><button onClick={handleClick}>{count}</button><button onClick={changeForm}>修改对象状态 {form.name}</button></div>);
}export default App;


http://www.mrgr.cn/news/92709.html

相关文章:

  • LeetCode 热题 100_有效的括号(69_20_简单_C++)(栈;栈+哈希表(建立左右括号的对应关系))
  • Token相关设计
  • Hive配置
  • MQ 笔记
  • 初阶数据结构习题【3】(1时间和空间复杂度)——203移除链表元素
  • Android APK组成编译打包流程详解
  • CMU15445(2023fall) Project #2 - Extendible Hash Index 匠心分析
  • 学术小助手智能体
  • Python面试(八股)
  • 爬虫和逆向教程-专栏介绍和目录
  • 常见深度学习算法图解笔记
  • 【戒抖音系列】短视频戒除-4-为什么刷短视频停不下来?从多巴胺陷阱到沉浸式交互拆解上瘾机制的底层逻辑
  • start DL from stratch (2)!!!
  • 【大模型】大模型分类
  • Linux系统下Mplayer的高效人机操作界面设计
  • 生成式AI项目的生命周期
  • Python在实际工作中的运用-指定目录内所有Excel文件转CSV
  • 项目开发时,涉及到的css样式
  • React 组件基础介绍
  • 初阶数据结构(C语言实现)——3顺序表和链表(3)