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

青岛优化网站多少钱建站用什么搭建比较好

青岛优化网站多少钱,建站用什么搭建比较好,网站建设 2018,南京网站建设哪里好在 Vue 中可以简单地使用 watch 来监听数据的变化,还能获取到改变前的旧值,而在 React 中是没有 watch 的。 React中比较复杂,但是我们如果想在 React 中实现一个类似 Vue 的 watch 监听属性,也不是没有办法。 在React类组件中实…

在 Vue 中可以简单地使用 watch 来监听数据的变化,还能获取到改变前的旧值,而在 React 中是没有 watch 的。

React中比较复杂,但是我们如果想在 React 中实现一个类似 Vue 的 watch 监听属性,也不是没有办法。

在React类组件中实现watch监听属性

我们可以使用 componentDidUpdate 函数来监听组件属性的变化,来模拟于 Vue 中的watch。

例如,我们有一个组件 MyComponent,其中有一个属性 name:

class MyComponent extends React.Component {state = {name: 'John'}componentDidUpdate(prevProps, prevState) {if (prevState.name !== this.state.name) {console.log('Name changed to:', this.state.name)}}render() {return (<div>My name is {this.state.name}</div>)}
}

        在 componentDidUpdate 函数中,我们可以比较当前状态和之前的状态,当 name 属性发生变化时,就可以执行某些操作,例如打印日志。

        需要注意的是,在 componentDidUpdate 函数中,我们还需要比较 prevprops 和 this.props ,以确保只有 name 属性发生变化时才会执行我们的操作:

componentDidUpdate(prevProps, prevState) {if (prevProps.name !== this.props.name || prevState.name !== this.state.name) {console.log('Name changed to:', this.state.name)}
}

        这样我们就可以在 React 类组件中实现类似于 Vue 中 watch 的功能,监听组件属性的变化并执行相应的操作。

在React函数组件中实现watch监听属性 

        在 React 中默认函数组件不能使用生命周期。需要配合 React16.8新增的 Hook -- useEffect 才能实现。使用 React 实现类似 Vue 中的 watch 监听属性可以通过使用 useEffect hook来完成。

         1、引入useEffect hook:        

import { useEffect } from 'react';

        2、 在组件中定义要监听的属性:

const [data, setData] = useState({ name: 'John', age: 25 });
const [name, setName] = useState('');// 监听data对象的name属性的变化
useEffect(() => {console.log(`name: ${data.name}`);
}, [data.name]);

        3、监听属性的变化:

// 修改data对象的name属性的值
setData({...data, name: 'Lucy'}); 

        当data对象的name属性发生改变时,useEffect 会触发执行其回调函数,并打印出新的值。

        需要注意的是,由于React 中所有组件状态都是不可变的,所以我们在修改要监听的属性时需要使用深拷贝,确保不会影响到原始的值。

 

 

http://www.yayakq.cn/news/464212/

相关文章:

  • 网站建设是属于软件吗导航到光明城市
  • 聊城网站建设公司免费网站正能量小说
  • 局域网网站架设软件wordpress安装详细
  • 天津专业网站设计做网站学什么语言好
  • 专业的建站公司都具备什么条件wordpress和织梦哪个好
  • 网站建设需要的项目淘宝客建网站
  • 建设部特殊工种查询网站网站开发员招聘
  • 电子商务网站建设的常用开发方法网站模板定做
  • 网站的修改建设文字怎么看网站是否织梦
  • 合肥建站平台正规网站优化推广
  • 商务网站建设期末考试拼多多推广
  • 对招聘网站页面设计做建议网上购物最便宜的网站
  • 网站建设目的是什么女主网站和男主做
  • 上海做网站较好的公司郑州工装定制公司
  • 怎么建公司免费网站开福区城乡建设局网站
  • 外贸网站建设 soho安装wordpress没有选择语言
  • 企业网站建设需要哪些步骤图片二维码制作网站
  • 高端网站建设如何收费深圳公司排名前十名
  • 垂直电商网站有哪些网页建设培训机构
  • 豪华网站设计手机网站建设万网
  • 国内全屏网站有哪些聊城做网站建设
  • 深圳极速网站建设服务器网站带支付模板
  • wordpress下载资源站主题seo网站关键词排名软件
  • 诸城网站建设的文章中国十大门窗品牌有哪些
  • 网页制作教材素材属于seo优化范畴的是
  • 郴州做网站长沙seo外包行者seo07
  • 首饰行业网站建设策划wordpress课程报名
  • 公众电影网站怎么做手机怎么开网站
  • 申请微信支付公司网站wordpress出现404
  • 深圳网站平台制作html网页制作app