React状态管理-对state进行保留和重置

相同位置的相同组件会使得 state 被保留下来


当你勾选或清空复选框的时候,计数器 state 并没有被重置。不管 isFancytrue 还是 false,根组件 App 返回的 div 的第一个子组件都是 <Counter />

你可能以为当你勾选复选框的时候 state 会被重置,但它并没有!这是因为 两个 标签被渲染在了相同的位置。 React 不知道你的函数里是如何进行条件判断的,它只会"看到"你返回的树。在这两种情况下,App 组件都会返回一个包裹着 作为第一个子组件的 div。这就是 React 认为它们是 同一个 的原因。

你可以认为它们有相同的"地址":根组件的第一个子组件的第一个子组件。不管你的逻辑是怎么组织的,这就是 React 在前后两次渲染之间将它们进行匹配的方式。

相同位置的不同组件会使 state 重置


在相同位置重置 state

相关推荐
console.log('npc')5 分钟前
partial在react接口定义中是什么意思
前端·javascript·typescript
SuperEugene6 分钟前
前端 utils 工具函数规范:拆分 / 命名 / 复用全指南,避开全局污染等高频坑|编码语法规范篇
开发语言·前端·javascript
Amumu1213841 分钟前
Js:内置对象
开发语言·前端·javascript
我命由我123451 小时前
Element Plus 2.2.27 的单选框 Radio 组件,选中一个选项后,全部选项都变为选中状态
开发语言·前端·javascript·html·ecmascript·html5·js
weixin_443478511 小时前
flutter组件学习之卡片与列表
javascript·学习·flutter
moreen1 小时前
Koa3.1.2 迁移, 持续更新中
javascript
qq_211387471 小时前
基于LangGraph多agent
开发语言·前端·javascript·agent·langgraph
liuyao_xianhui1 小时前
优选算法_模拟_替换所有的‘?‘_C++
开发语言·javascript·数据结构·c++·算法·链表·动态规划
摸鱼仙人~2 小时前
Vue Todo 实战练习教程(简略版)
前端·javascript·vue.js
FlyWIHTSKY2 小时前
Vue 3 单文件组件加载顺序详解
前端·javascript·vue.js