React04 State变量 & 组件渲染

State变量 & 渲染和提交

  • [State 变量](#State 变量)
    • [state 变量的使用](#state 变量的使用)
    • [State 是隔离且私有的](#State 是隔离且私有的)
  • 组件渲染

State 变量

state 变量的使用

  • 导入 useState
js 复制代码
import { useState } from 'react';
  • 定义一个 state 变量
js 复制代码
const [index, setIndex] = useState(0);

useState 的唯一参数是 state 变量的初始值

在这个例子中,index 的初始值被 useState(0) 设置为 0

  • 调用 setter 函数修改变量
js 复制代码
function handleClick() {
  setIndex(index + 1);
}

state setter 函数 (setIndex) 可以更新 state 变量并触发 React 重新渲染组件

State 是隔离且私有的

State 是组件实例内部的状态。如果你渲染同一个组件两次,每个副本都会有完全隔离的 state,改变其中一个不会影响另一个。


组件渲染

  • 初次渲染

当应用启动时,会触发初次渲染。React 会调用根组件,通过 render 函数 递归完成所有所需组件的渲染。

js 复制代码
import Image from './Image.js';
import { createRoot } from 'react-dom/client';

const root = createRoot(document.getElementById('root'))
root.render(<Image />);

对于初次渲染, React 会使用 appendChild() DOM API 将其创建的所有 DOM 节点放在屏幕上。

  • 状态更新时重新渲染

通过 set 函数 更新组件状态来触发重新渲染。React 会调用内部状态更新触发了渲染的函数组件。

对于重渲染, React 将应用最少的必要操作(在渲染时计算),以使得 DOM 与最新的渲染输出相互匹配。

相关推荐
星辰徐哥7 分钟前
表单优化:AI驱动HTML5表单的智能验证与提示功能
前端·人工智能·html5
普通网友8 分钟前
HTML5新增了哪些重要标签?多多学习也是成长的一部分
前端·学习·html5
2501_906467639 分钟前
html5网页中如何实现内网大文件的加密下载?
前端·html·html5·vue上传解决方案·vue断点续传·vue分片上传下载·vue分块上传下载
极客小俊10 分钟前
【从零到一】用HTML5+CSS+JavaScript实现一个属于自己的mp3免费音乐播放器 (4) JS交互功能(音乐进度条)
javascript·css·html5·前端开发·免费教程·代码案例·手搓音乐播放器
何何____18 分钟前
css变换语法介绍及案例展示
前端·css
冴羽yayujs41 分钟前
GitHub 前端热榜项目 - 日榜(2026-05-07)
前端·github
深蓝海拓43 分钟前
用HSL颜色系统改造qdarkstyle样式表库
前端·笔记·python·qt·学习
FlyWIHTSKY44 分钟前
Element Plus 中 el-row 和 el-col 的完整使用指南**
javascript·vue.js·ecmascript
摇滚侠1 小时前
基于 Redis 实现验证码登录
javascript·redis·bootstrap
wuxia21181 小时前
Web全栈开发案例教程(AI辅助版)
前端