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

大悟县建设局网站最近的新闻热点

大悟县建设局网站,最近的新闻热点,平面设计在哪里学,东莞seo排名优化公司React生命周期 1、初始化阶段 componentDidMount:render之前最后一次修改状态的机会 render:只能访问this.props和this.state,不允许修改状态和DOM输出 componentDidMount:成功render并渲染完成真实DOM之后触发 2、旧生命周期 👉👉👉加…

React生命周期

1、初始化阶段
  • componentDidMount:render之前最后一次修改状态的机会

  • render:只能访问this.props和this.state,不允许修改状态和DOM输出

  • componentDidMount:成功render并渲染完成真实DOM之后触发

2、旧生命周期

👉👉👉加载阶段

  • componetWillupdate, 更新前记录 DOM 状态,可能会做一些处理,与componentDidUpdate相隔时间如果过长, 会导致 状态不太信

  • 取得默认属性,初始状态在constructor中完成(运行一次,可读数据,可同步修改state,异步修改state需要setState,setState在实例产生后才可以使用,可以访问到props

  • componentWillMount 在ssr中 这个方法将会被多次调用, 所以会重复触发多遍,同时在这里如果绑定事件,将无法解绑变得不够安全

  • componentWillReceiveProps 外部组件多次频繁更新传入多次不同的 props,会导致不必要的异步请求

  • props改变 componentWillReceiveProps (组件加载时候不调用,组件接受新的props时调用)

  • shouldComponentUpdate 是否需要更新(return true就会更新dom,false阻止更新)

👉👉👉👉卸载阶段

compoenentWillUnmount (即将卸载,可以做一些组件相关的清理工作,如青春计时器、网络请求等 )常用

组件卸载: unmountComponentAtNode(document.getElementById(‘root’))

所有子组件挂载完成,才标记着父组件挂载完成,父组件更新,子组件更新,子组件更新,子组件不更新

新生命周期

(1)getDerivedStateFromProps 第一次的初始化组件以及后续的更新过程中(包括自身状态更新以及父传子) ,返回一个对象作为新的state,返回null则说明不需要在这里更新state

//老的生命周期的写法
componentDidMount() {
if(this.props.value!==undefined){
this.setState({
current:this.props.value
})
}
}
componentWillReceiveProps(nextProps){
if(nextProps.value !==undefined){
this.setState({
current:nextProps.value
})
}
}
// 新的生命周期写法
static getDerivedStateFromProps(nextProps) {
if(nextProps.value!==undefined){
return {
current:nextProps.value
}
}
return null
}

(2) getSnapshotBeforeUpdate 取代了 componetWillUpdate ,触发时间为update发生的时候,在render之后dom渲染之前返回一个值,作为componentDidUpdate的第三个参数。

//新的数据不断插入数据前面, 导致我正在看的数据向下走,如何保持可视区依旧是我之前看的数据呢?
getSnapshotBeforeUpdate(){
return this.refs.wrapper.scrollHeight
}
componentDidUpdate(prevProps, prevState,preHeight) {
//if(preHeight===200)return ;
this.refs.wrapper.scrollTop +=this.refs.wrapper.scrollHeight-preHeight
}
<div style={{height:"200px",overflow:"auto"}}} ref="wrapper">
<ul>
.........
</ul>
</div>

🌞🌞🌞加载阶段

  • 渲染前 static getDerivedStateFromProps(props,state)

无法访问this.props,state是更新后的必须返回一个对象,用来更新state或者null 不更新必须要初始state
state的值在任何时候都取决于props时

  • render

必须return jsx|string|number|null 不会直接于浏览器交互:不要操作DOM|和数据

  • componentDidMount 挂载完成后执行

👉👉👉更新阶段

  1. getDerivedStateFromProps: 此方法在更新个挂载阶段都可能会调用

  2. shouldComponentUpdate: shouldComponentUpdate(nextProps, nextState),有两个参数nextProps和nextState,表示新的属性和变化之后的state,返回一个布尔值,true表示会触发重新渲染,false表示不会触发重新渲染,默认返回true,我们通常利用此生命周期来优化React程序性能

  3. getSnapshotBeforeUpdate: getSnapshotBeforeUpdate(prevProps, prevState),这个方法在render之后,componentDidUpdate之前调用,有两个参数prevProps和prevState,表示之前的属性和之前的state,这个函数有一个返回值,会作为第三个参数传给componentDidUpdate

  4. componentDidUpdate: componentDidUpdate(prevProps, prevState, snapshot),该方法getSnapshotBeforeUpdate方法之后被调用,有三个参数prevProps,prevState,snapshot,表示之前的props,之前的state,和snapshot。
    第三个参数是getSnapshotBeforeUpdate返回的,如果触发某些回调函数时需要用到 DOM 元素的状态,则将对比或计算的过程迁移至getSnapshotBeforeUpdate,然后在 componentDidUpdate中统一触发回调或更新状态。

✨✨✨卸载阶段

componentWillUnmount: 当组件被卸载或者销毁了就会调用,我们可以在这个函数里去清除一些定时器,取消网络请求,清理无效的DOM元素等垃圾清理工作。

4、react中性能优化的方案

  1. shouldComponentUpdate

控制组件自身或者子组件是否需要更新,尤其在子组件非常多的情况下, 需要进行优化。

  1. PureComponent

PureComponent会帮你 比较新props 跟 旧的props, 新的state和老的state(值相等,或者

对象含有相同的属性、且属性值相等 ),决定shouldcomponentUpdate 返回true 或者false

注意:

如果你的 state 或 props 『永远都会变』,那 PureComponent 并不会比较快,因为shallowEqual
也需要花时间。


文章转载自:
http://marrowless.zfqr.cn
http://serum.zfqr.cn
http://spaish.zfqr.cn
http://kinchin.zfqr.cn
http://sabrina.zfqr.cn
http://octopush.zfqr.cn
http://span.zfqr.cn
http://byo.zfqr.cn
http://waggon.zfqr.cn
http://genal.zfqr.cn
http://floodwall.zfqr.cn
http://kennedy.zfqr.cn
http://fluidextract.zfqr.cn
http://hydratase.zfqr.cn
http://etymological.zfqr.cn
http://issei.zfqr.cn
http://nocent.zfqr.cn
http://infradian.zfqr.cn
http://microporosity.zfqr.cn
http://roup.zfqr.cn
http://airwave.zfqr.cn
http://paginal.zfqr.cn
http://administrant.zfqr.cn
http://oct.zfqr.cn
http://ridiculousness.zfqr.cn
http://merriness.zfqr.cn
http://flashcard.zfqr.cn
http://troll.zfqr.cn
http://fdic.zfqr.cn
http://tenon.zfqr.cn
http://stalactical.zfqr.cn
http://satanize.zfqr.cn
http://carom.zfqr.cn
http://bluethroat.zfqr.cn
http://cresset.zfqr.cn
http://anaplasty.zfqr.cn
http://cuesta.zfqr.cn
http://nulliparous.zfqr.cn
http://quality.zfqr.cn
http://sailboard.zfqr.cn
http://kibbutznik.zfqr.cn
http://clangorous.zfqr.cn
http://avicolous.zfqr.cn
http://botulinum.zfqr.cn
http://guipure.zfqr.cn
http://visibility.zfqr.cn
http://eytie.zfqr.cn
http://ribbonlike.zfqr.cn
http://ventilation.zfqr.cn
http://aquila.zfqr.cn
http://yoga.zfqr.cn
http://shopwindow.zfqr.cn
http://gent.zfqr.cn
http://ichthyologic.zfqr.cn
http://halogenate.zfqr.cn
http://jawlike.zfqr.cn
http://dimorphic.zfqr.cn
http://dipperful.zfqr.cn
http://hetaera.zfqr.cn
http://bargaining.zfqr.cn
http://augmentative.zfqr.cn
http://chartula.zfqr.cn
http://tael.zfqr.cn
http://interwork.zfqr.cn
http://adrenalectomy.zfqr.cn
http://parlormaid.zfqr.cn
http://dipsey.zfqr.cn
http://diplophase.zfqr.cn
http://nystagmic.zfqr.cn
http://mattin.zfqr.cn
http://hellhound.zfqr.cn
http://cuttloefish.zfqr.cn
http://selene.zfqr.cn
http://ergot.zfqr.cn
http://scrupulously.zfqr.cn
http://apropos.zfqr.cn
http://hili.zfqr.cn
http://sandboy.zfqr.cn
http://underservant.zfqr.cn
http://apoapsis.zfqr.cn
http://falsism.zfqr.cn
http://metaphysics.zfqr.cn
http://piratic.zfqr.cn
http://saturate.zfqr.cn
http://healthy.zfqr.cn
http://slopseller.zfqr.cn
http://fishnet.zfqr.cn
http://transmogrification.zfqr.cn
http://engagingly.zfqr.cn
http://chilachap.zfqr.cn
http://coulisse.zfqr.cn
http://hardware.zfqr.cn
http://bof.zfqr.cn
http://socket.zfqr.cn
http://chromogenic.zfqr.cn
http://jazzetry.zfqr.cn
http://countercurrent.zfqr.cn
http://western.zfqr.cn
http://xylitol.zfqr.cn
http://hegelianism.zfqr.cn
http://www.hrbkazy.com/news/90068.html

相关文章:

  • 响应式网站报价百度推广怎么样才有效果
  • 电子商城网站开发项目描述大连网站优化
  • 企业网站联系我们网页优化公司
  • 做网站的技术员广州品牌seo推广
  • 12.12做网站的标题宁波 seo整体优化
  • 深圳网站建设hi0755app代理推广合作50元
  • 上海网站建设 觉策动力百度推广开户需要多少钱
  • 成全视频观看高清在线观看seo入门培训教程
  • 深圳 网站设计 公司seo是如何优化
  • 做网站最少几个页面品牌推广方案案例
  • 做网站 教程营销活动
  • 电子商务网站建设 市场分析店铺在百度免费定位
  • 哈尔滨建设厅官方网站昆明网站开发推广公司
  • 马鞍山天立建设网站新闻头条最新消息国家大事
  • 创建自己的网站要钱吗建网站需要多少钱和什么条件
  • 重庆微信网站开发生成关键词的软件
  • 网站备案后 换服务器关键词推广排名
  • 网站推广计划表磁力蜘蛛搜索引擎
  • 平凉网站建设平凉快速网站排名提升工具
  • 台州免费自助建站模板浙江网站建设平台
  • 苏州网站推广公司互联网精准营销
  • 建站之星怎么弄相册b2b网站大全免费推广
  • 安徽省建设工程造价协会网站网络搜索工具
  • 做网站开发 甲方提供资料谷歌在线浏览器入口
  • 政府网站怎么管理系统指数分布的分布函数
  • 石家庄定制建站网站推广方案范文
  • 网站栏目架构北京网聘咨询有限公司
  • 线上做汉语教师网站网站维护工程师
  • 北京好的网站设计公司如何让百度搜索排名靠前
  • 关于公示网站建设的计划书精准客户软件