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

永春网站设计设计类型的网站

永春网站设计,设计类型的网站,计算机培训班价格,装修房子图片三室一厅效果图在React的类组件中#xff0c;从组件创建到组件被挂载到页面中#xff0c;这个过程react存在一系列的生命周期函数#xff0c;最主要的生命周期函数是componentDidMount、componentDidUpdate、componentWillUnmount 生命周期图例如下 1. componentDidMount组件挂载 如果你…在React的类组件中从组件创建到组件被挂载到页面中这个过程react存在一系列的生命周期函数最主要的生命周期函数是componentDidMount、componentDidUpdate、componentWillUnmount 生命周期图例如下 1. componentDidMount组件挂载 如果你定义了 componentDidMount 方法React 将会在组件被添加到屏幕上 挂载 后调用它。这里是设置数据获取、订阅监听事件或操作 DOM 节点的常见位置。 参数componentDidMount 不需要任何参数返回值componentDidMount 不应该返回任何值场景多用于组件中进行网络请求DOM操作等 componentDidMount() {console.log(component did mount);} 2. componentDidUpdate组件更新 如果你定义了 componentDidUpdate 方法那么 React 会在你的组件更新了 props 或 state 重新渲染后立即调用它。这个方法不会在首次渲染时调用。 参数 prevProps更新之前的 props。prevProps 将会与 this.props 进行比较来确定发生了什么改变 prevState更新之前的 state。prevState 将会与 this.state 进行比较来确定发生了什么改变 snapshot 如果你实现了 getSnapshotBeforeUpdate 方法那么 snapshot 将包含从该方法返回的值。否则它将是 undefined 返回值componentDidMount 不应该返回任何值 注意如果在组件中定义了shouldComponentUpdate 并且返回值是 false 的话componentDidUpdate 将不会被调用。如果在componentDidUpdate 中直接调用 setState方法会造成触发一次发生在浏览器更新屏幕内容之前的额外渲染在这种情况下即使 render 会被调用两次用户也看不到中间状态。这种模式通常会导致性能问题。 componentDidUpdate(prevProps, prevState, snapshot) {console.log(component did update);} 3. componentWillUnmount组件卸载 如果你定义了 componentWillUnmount 方法React 会在你的组件被移除屏幕卸载之前调用它。此方法常常用于取消数据获取或移除监听事件。 参数componentDidMount 不需要任何参数返回值componentDidMount 不应该返回任何值注意componentWillUnmount 内部的逻辑应该完全“对应”到 componentDidMount 内部的逻辑例如如果你在 componentDidMount 中设置了一个监听事件那么 componentWillUnmount 中就应该清除掉这个监听事件例如定时器任务等。 componentWillUnmount() {console.log(component willUnmount);} 4. getSnapshotBeforeUpdate组件快照 getSnapshotBeforeUpdateReact 会在 React 更新 DOM 之前时直接调用它。它使你的组件能够在 DOM 发生更改之前捕获一些信息例如滚动的位置。此生命周期方法返回的任何值都将作为参数传递给 componentDidUpdate。 参数 prevProps更新之前的 Props。prevProps 将会与 this.props 进行比较来确定发生了什么改变。 prevState更新之前的 State。prevState 将会与 this.state 进行比较来确定发生了什么改变。 返回值返回你想要的任何类型的快照值或者是 null。你返回的值将作为第三个参数传递给 componentDidUpdate。 getSnapshotBeforeUpdate(prevProps, prevState) {console.log(getSnapshotBeforeUpdate);return 123} 运行结果 用例组件App: class HelloWorld extends React.Component {constructor() {super()this.state {banners: [新歌曲,新mv, 新歌单],porductsList: [商品,热门, 流行],count: 100,}}changeCount(count) {this.setState({count: this.state.count count})}render() {const { banners, porductsList, count} this.statereturn (divHeader /Main banners{banners} addClick{(count) this.changeCount(count)} /Footer porductsList{porductsList}/div{count}/div/div)}componentDidMount() {console.log(component did mount);}getSnapshotBeforeUpdate(prevProps, prevState) {console.log(getSnapshotBeforeUpdate);return 123}componentDidUpdate(prevProps, prevState, snapshot) {console.log(component did update);console.log(prevProps, prevState, snapshot, prevProps, prevState, snapshot); // snapshot 就是 getSnapshotBeforeUpdate 返回的值 123}componentWillUnmount() {console.log(component willUnmount);} }
http://www.zqtcl.cn/news/881799/

相关文章:

  • 建设医疗网站做企业官网哪家公司好
  • 网站建设常见问题及解决办法站长网站大全
  • 二手网站建设模块500做网站
  • 建设展示型网站公司哪家好广告制作费和广告服务费区别
  • 网站排版设计欣赏网站建设制作设计seo优化南宁
  • 长春网站建设公司十佳wordpress在哪注册
  • 手机号码定位网站开发世界知名外贸网站
  • 广西南宁网站建设排行榜建设一个视频网站己18
  • 以小说名字做网站的小说网最热门的网页游戏排行
  • 微网站菜单商品详情页面模板html
  • 免费word模板网站WordPress用户聊天功能
  • 网站显示图片标记wordpress文章分类div布局
  • 专业网站建设公司哪家专业阿里云二级域名建设网站
  • 返利网站怎么做手机网页前端开发
  • 做家教去什么网站人际网络网络营销是什么
  • 潮州外贸网站建设网站qq在线状态
  • 旅游网站开发背景及意义湖南城市建设网站
  • 西安网站开发托管代运营wordpress给外部链接加上跳转
  • 网站设计深圳企业为什么做网站素材
  • 网站顶部地图代码怎么做的家居装修
  • 网站后台不能修改网站哪家公司做的
  • 360网站建设官网致远oa办公系统官网
  • 南宁 做网站网站建立计划书
  • 兰亭集势网站模板宿迁房产
  • 网站建设开源苏州做网站优化哪家好
  • 自己的电脑做网站空间视屏互联网站备案管理工作方案 工信部
  • 移动网站设计尺寸在什么网站做外贸
  • 中外网站建设区别绵阳市城市建设档案馆网站
  • php电子商务网站源码凉山彝族自治州网站建站
  • 网站建设当前位置图标移动网站登录入口