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

react 中 props 和 state的相同与不同

props:
  props是一个从外部传进组件的参数,由于React具有单向数据流的特性,所以他的主要作用是从父组件向子组件中传递数据,它是不可改变的,如果想要改变它,只能通过外部组件传入新的props来重新渲染子组件,否则子组件的props和展示形式不会改变,props除了可以传字符串,数字,还可以传递对象,数组甚至是回调函数

state:
  state主要作用是用于组件保存,控制及修改自己的状态,它只能在constructor中初始化,state是可以被改变的,state放改动的一些属性,比如点击选中,再点击取消,类似这种属性就放入带state中,注意:没有state的叫做无状态组件,多用props少用state,多写无状态组件,注意:修改state的值时,必须通过调用setState方法,当我们调用this.setState方法时,React会更新组件的数据状态,并且重新调用render方法。

不同点:
1.props不可以在组件内部修改,但state可以在组件内部修改
2.可以从父组件修改自组件的props,而不能从父组件修改自组件的state

相同点:
1.props和state都是导出HTML的原始数据。
2.props和state都是确定性的,如果我们写的组件为同一props和state的组合生成了不同的输出,那木我们肯定在哪里做错了
3.props和state都会触发渲染更新
4.props和state都是纯JS对象(用typeof来判断,结果都是object)
5.可以从父组件得到初始值props和state的初始值

相关文章:

  • 理解java Web项目中的路径问题
  • react 中千万不要在render里调用this.setState
  • 系统界面图片
  • HDU 3068 回文串-Manacher
  • reactJS的props.children.map函数来遍历会收到异常提示,为什么?应该如何遍历?
  • Elasticsearch 2.3.3 搜索引擎的elasticsearch-jdbc插件安装
  • Redux中同步 action 与异步 action 最大的区别是什么
  • setTimeout和setInterval的区别
  • shell脚本编程
  • 数组常用的处理方法 map,forEach,filter, every,some, set, concat, find 等
  • 阿里云自定义监控配置实例
  • Import 和 link引入的区别
  • 菜鸟如何才能快速提高自己的编程技术
  • css使子元素在父元素居中的各种方法/ 子元素居中有哪些方案
  • display:inline-block的用法
  • [译]CSS 居中(Center)方法大合集
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • 78. Subsets
  • axios 和 cookie 的那些事
  • CSS相对定位
  • Invalidate和postInvalidate的区别
  • mysql 5.6 原生Online DDL解析
  • PHP的类修饰符与访问修饰符
  • Python利用正则抓取网页内容保存到本地
  • Rancher-k8s加速安装文档
  • STAR法则
  • Travix是如何部署应用程序到Kubernetes上的
  • Vue--数据传输
  • 和 || 运算
  • 聊聊springcloud的EurekaClientAutoConfiguration
  • 温故知新之javascript面向对象
  • 一些基于React、Vue、Node.js、MongoDB技术栈的实践项目
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • #我与Java虚拟机的故事#连载11: JVM学习之路
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (ZT)薛涌:谈贫说富
  • (二)Eureka服务搭建,服务注册,服务发现
  • (二)linux使用docker容器运行mysql
  • (附源码)ssm基于jsp高校选课系统 毕业设计 291627
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (原創) 物件導向與老子思想 (OO)
  • .MyFile@waifu.club.wis.mkp勒索病毒数据怎么处理|数据解密恢复
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .NET NPOI导出Excel详解
  • .NET 中使用 Mutex 进行跨越进程边界的同步
  • [3D游戏开发实践] Cocos Cyberpunk 源码解读-高中低端机性能适配策略
  • [AIGC] 使用Curl进行网络请求的常见用法
  • [C++] 默认构造函数、参数化构造函数、拷贝构造函数、移动构造函数及其使用案例
  • [Flex][问题笔记]TextArea滚动条问题
  • [Foreman]解决Unable to find internal system admin account
  • [JavaEE系列] Thread类的基本用法
  • [luoguP1666] 前缀单词(DP)
  • [luoguP3159] [CQOI2012]交换棋子(最小费用最大流)