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

react中外部传入的属性如果在外部改变,组件内如何得知并作出响应?

react中,外部传入的属性,如果在外部改变了,组件内如何得知并作出响应?

如果是vue,会在组件内通过watch来监听该属性。但react呢?

可以使用以下几种方法:

1、在类组件中

可以使用componentDidUpdate生命周期方法来监听prop的变化。

class MyComponent extends React.Component {componentDidUpdate(prevProps, prevState) {if (prevProps.myProp !== this.props.myProp) {// 在这里处理myProp的变化}}render() {return <div>{this.props.myProp}</div>;}
}

2、对于函数组件,可以使用React Hooks中的useEffect来达到类似的效果

import React, { useEffect } from 'react';function MyComponent({ myProp }) {useEffect(() => {// 在这里处理myProp的变化}, [myProp]);return <div>{myProp}</div>;
}

这都是AI告诉我的。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • stm32_按键消抖_代码与流程分析
  • ShardingSphere-Jdbc + Spring Security + Redis 实现简单JWT认证
  • 利用python检查磁盘空间使用情况
  • LinkedList 实现 LRU 缓存
  • 软考高级科目怎么选?软考高级含金量排序
  • WebView加载数据的几种方式
  • SQLSever 设置端口
  • 原子操作介绍
  • 【第三节】python中的函数
  • 【数据结构与算法】循环队列
  • 项目实战_表白墙(升级版)
  • IT服务运营管理中的关键考核指标
  • AI机器人:一键实现手机自动化操作
  • C++ STL adjacent_difference 用法
  • JavaScript递归菜单栏
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码...
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • extjs4学习之配置
  • JS 面试题总结
  • Shell编程
  • 创建一个Struts2项目maven 方式
  • 计算机常识 - 收藏集 - 掘金
  • 蓝海存储开关机注意事项总结
  • 码农张的Bug人生 - 初来乍到
  • 如何利用MongoDB打造TOP榜小程序
  • 少走弯路,给Java 1~5 年程序员的建议
  • 我有几个粽子,和一个故事
  • 物联网链路协议
  • Java总结 - String - 这篇请使劲喷我
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • ​浅谈 Linux 中的 core dump 分析方法
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • # linux 中使用 visudo 命令,怎么保存退出?
  • (2)MFC+openGL单文档框架glFrame
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (STM32笔记)九、RCC时钟树与时钟 第一部分
  • (二刷)代码随想录第15天|层序遍历 226.翻转二叉树 101.对称二叉树2
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (规划)24届春招和25届暑假实习路线准备规划
  • (黑马点评)二、短信登录功能实现
  • (十三)Flask之特殊装饰器详解
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • .dwp和.webpart的区别
  • .NET下的多线程编程—1-线程机制概述
  • @NoArgsConstructor和@AllArgsConstructor,@Builder
  • [1525]字符统计2 (哈希)SDUT
  • [20181219]script使用小技巧.txt
  • [ACM] hdu 1201 18岁生日
  • [BetterExplained]书写是为了更好的思考(转载)
  • [C#]C# winform实现imagecaption图像生成描述图文描述生成
  • [C++]入门基础(1)
  • [EFI]Acer Aspire A515-54g电脑 Hackintosh 黑苹果efi引导文件
  • [Electron] 将应用打包成供Ubuntu、Debian平台下安装的deb包