react小技巧--useState实现假深拷贝

news/2024/10/24 7:27:23/
javascript">const arr = [1, 2, 3];
const [listData] = useState(arr);// 稍后修改 arr
arr.push(4);// React 的 listData 状态不会反映这个变化
console.log(listData); // 输出:[1, 2, 3]

在 React 中,当你使用 useState 钩子来初始化状态时,状态的初始值是被“冻结”在组件首次渲染时的。这意味着,如果你使用一个变量 arr 来初始化状态 listData,那么这个 arr 的值在组件的整个生命周期中都不会改变,即使 arr 本身在组件外部被修改了。

在上面的代码中,即使 arr 被修改了,listData 的值也不会改变,因为它在组件首次渲染时已经被设置了初始值。所以是假深拷贝,并不是真的深拷贝


http://www.ppmy.cn/news/1541545.html

相关文章

python3的基本数据类型:String(字符串)

一. 简介 本文简单学习了一下 python3中的一种数据类型: String(字符串)。 Python中的String类型是一种用于表示文本数据的数据类型。‌ 它可以包含字母、数字、符号等字符,用于存储文本信息。 二. python3的基本数据类型&…

【论文翻译】ICLR 2018 | DCRNN:扩散卷积递归神经网络:数据驱动的交通预测

论文题目Diffusion Convolutional Recurrent Neural Network: Data-Driven Traffic Forecasting论文链接https://arxiv.org/abs/1707.01926源码地址https://github.com/liyaguang/DCRNN发表年份-会议/期刊2018 ICLR关键词交通预测,扩散卷积,递归神经网络…

Visual Studio安装图文详解教程

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl 教程说明 本教程旨在详细介绍 Visual Studio 社区版的安装过程及其注意事项。 Visual Studio简介 Visual Studio 社区版功能完备且可扩展的免费 IDE,可用于创…

快速读懂cmmi认证

CMMI(Capability Maturity Model Integration)认证,即能力成熟度模型集成认证,是一种用于评估和改进组织在软件开发和维护方面过程能力的国际标准。以下是对CMMI认证的快速解读: 一、CMMI认证的定义与背景 定义&…

数据字典是什么?和数据库、数据仓库有什么关系?

一、数据字典的定义及作用 数据字典是一种对数据的定义和描述的集合,它包含了数据的名称、类型、长度、取值范围、业务含义、数据来源等详细信息。 数据字典的主要作用如下: 1. 对于数据开发者来说,数据字典包含了关于数据结构和内容的清晰…

2024年9月 GESP CCF C++三级编程能力等级考试认证真题

2024.09 GESP CCF C三级编程能力等级考试认证真题 1 单选题&#xff08;每题 2 分&#xff0c;共 30 分&#xff09; 第 1 题 下列代码中&#xff0c;输出结果是&#xff08; &#xff09; #include<iostream> using namespace std; int main() { double a0.9; …

esp32c6 开发实战:http 协议

esp32c6 提供一系列的事件来处理 http 协议&#xff08;这一点与低功耗蓝牙相似&#xff09;。 编写含有 http 协议的程序基本上就以下几个步骤&#xff1a; 初始化注册回调函数 每当事件发生&#xff08;接收到来自客户端的请求就会触发事件&#xff09;&#xff0c;esp32c…

Facebook如何保护用户隐私:数据安全的核心要点

在数字化时代&#xff0c;社交媒体平台如Facebook收集和处理海量用户数据&#xff0c;使得隐私保护问题愈发引起公众关注。用户在享受社交媒体便利的同时&#xff0c;如何确保个人信息的安全成为重要议题。 Facebook在用户隐私保护方面采取了多项核心策略。首先&#xff0c;透明…