props和state的区别

简介: props和state的区别

区别

1、props是传递给组件的(类似于函数的形参),而state是在组件内部被组件自己管理的(类似于在一个函数内声明的变量);

2、props是不可以被修改的,state是多变的,可被修改的。

开发react组件,最常用到的两个引起组件渲染的可能就是state和props


props:


props:函数组件的props就是函数的入参组件

类组件:this.props包含被该组件调用或者定义的props

state:


组件中的state包含了随时可能发生变化的数据。

state是由用户定义,是一个普通的JavaScript对象

区别:


props是传递给组件的(类似于函数的形参),而state是在组件内部被组件自己管理的(类似于在一个函数内声明的变量)


props是不可以被修改的,所有的react组件都必须像纯函数一样保护他们的props不被修改


state是在组件中创建,一般是在constructor中初始化state


state是多变的,可被修改的。每次setState都是异步更新的

相关文章
|
算法 Shell
通信系统中ZF,ML,MRC以及MMSE四种信号检测算法误码率matlab对比仿真
通信系统中ZF,ML,MRC以及MMSE四种信号检测算法误码率matlab对比仿真
|
存储 Prometheus Cloud Native
Grafana 系列文章(十):为什么应该使用 Loki
Grafana 系列文章(十):为什么应该使用 Loki
|
网络协议 网络性能优化 API
dpdk课程学习之练习笔记三(tcp的简单实现)
dpdk课程学习之练习笔记三(tcp的简单实现)
329 0
|
8月前
|
Java 开发者
重学Java基础篇—Java类加载顺序深度解析
本文全面解析Java类的生命周期与加载顺序,涵盖从加载到卸载的七个阶段,并深入探讨初始化阶段的执行规则。通过单类、继承体系的实例分析,明确静态与实例初始化的顺序。同时,列举六种触发初始化的场景及特殊场景处理(如接口初始化)。提供类加载完整流程图与记忆口诀,助于理解复杂初始化逻辑。此外,针对空指针异常等问题提出排查方案,并给出最佳实践建议,帮助开发者优化程序设计、定位BUG及理解框架机制。最后扩展讲解类加载器层次与双亲委派机制,为深入研究奠定基础。
327 0
|
定位技术 网络虚拟化 数据中心
VLAN与VXLAN技术解析:仅一字之差的深远区别
通过深入了解VLAN与VXLAN的技术细节和应用场景,网络工程师可以根据具体需求选择最合适的技术来优化网络架构。对于现代网络环境,尤其是大规模和多变的网络结构,理解并合理运用这些技术是提高网络效率和安全性的关键。
434 1
|
Web App开发 运维 监控
深入探索Linux命令pwdx:揭秘进程工作目录的秘密
`pwdx`命令在Linux中用于显示指定进程的工作目录,基于`/proc`文件系统获取实时信息。简单易用,如`pwdx 1234`显示PID为1234的进程目录。结合`ps`和`pgrep`等命令可扩展使用,如查看所有进程或特定进程(如Firefox)的目录。使用时注意权限、进程ID的有效性和与其他命令的配合。查阅`man pwdx`获取更多帮助。
|
存储 算法 Shell
哈希表、哈希桶(C++实现)【STL】
哈希表、哈希桶(C++实现)【STL】
403 0
|
调度 数据安全/隐私保护
用户态和内核态 中断处理机制
用户态和内核态 中断处理机制
776 0
|
数据可视化 SDN Python
广义曼德勃罗特集的探索与交互式可视化
这篇文章介绍了如何使用Python和matplotlib库创建广义曼德勃罗特集的交互式可视化。作者探讨了曼德勃罗特集的基本概念,包括其自相似性和复杂边界,并扩展到广义集合,其中幂运算指数可以是任意复数。通过提供的Python代码示例,读者可以学习如何绘制并实现鼠标驱动的放大缩小功能,从而深入探索这个数学结构的细节。文章鼓励读者修改指数以观察不同形态,并提供了相关参考资料链接。
document.write和innerHTML、innerText的区别?
document.write和innerHTML、innerText的区别?