随州网站建设哪家便宜,成都网站制作-中国互联,怎么给自己的网站做扫描码,wordpress引入php文件目录
1. 生命周期-概览
2. 生命周期-挂载阶段
3. 生命周期-更新阶段
4. 生命周期-卸载阶段
5. setState扩展-发现问题
6. setState扩展-更多用法 7. setState扩展-异步 1. 生命周期-概览 了解react类组件生命周期整体情况 大致步骤#xff1a;
什么是生命周期React类组…目录
1. 生命周期-概览
2. 生命周期-挂载阶段
3. 生命周期-更新阶段
4. 生命周期-卸载阶段
5. setState扩展-发现问题
6. setState扩展-更多用法 7. setState扩展-异步 1. 生命周期-概览 了解react类组件生命周期整体情况 大致步骤
什么是生命周期React类组件的生命周期整体概览了解生命周期的意义
具体内容
① 什么是组件生命周期
一个事物从创建到最后消亡经历的整个过程 ② React类组件的生命周期整体概览组件从创建到消耗的过程
React组件生命周期 ③ 了解生命周期的意义
助于理解组件的运行方式、完成更复杂的组件功能、分析组件错误原因钩子函数为开发人员在不同阶段操作组件提供了时机
总结
只有类组件才有生命周期分为 挂载阶段 更新阶段 卸载阶段
2. 生命周期-挂载阶段 够说出组件的挂载阶段的钩子函数以及执行时机 大致步骤
知道挂载阶段会执行那些函数执行顺序知道每个函数内一般可以做什么事参考代码
具体内容
① 知道挂载阶段会执行那些函数执行顺序 ② 知道每个函数内一般可以做什么事
钩子 函数触发时机作用constructor创建组件时最先执行1. 初始化state 2. 创建 Ref 3. 使用 bind 解决 this 指向问题等render每次组件渲染都会触发渲染UI注意 不能调用setState() componentDidMount组件挂载完成DOM渲染后1. 发送网络请求 2.DOM操作
③ 参考代码
import { Component } from reactexport default class App extends Component {constructor () {super()console.log(1. constructor执行)}componentDidMount () {console.log(3. componentDidMount执行)}render() {console.log(2. render执行)return divApp组件/div}
}
总结
组件挂载阶段顺序执行 constructor render componentDidMount 三个函数
3. 生命周期-更新阶段 能够说出组件的更新阶段的钩子函数以及执行时机 大致步骤
知道更新阶段会执行那些函数执行顺序知道何时触发更新阶段知道触发的钩子函数里可以做些什么参考代码
具体内容
① 更新阶段会执行那些函数执行顺序 ② 何时触发更新阶段
setState()forceUpdate() 强制组件更新组件接收到新的props实际上只需要父组件更新子组件就会重新渲染
③ 钩子函数里可以做什么
钩子函数触发时机作用render每次组件渲染都会触发渲染UI与 挂载阶段 是同一个rendercomponentDidUpdate组件更新完成DOM渲染后DOM操作可以获取到更新后的DOM内容不要直接调用setState
④ 参考代码
import { Component } from reactclass Child extends Component {render() {return h1统计豆豆被打的次数/h1}
}export default class App extends Component {state {count: 0}handleClick () {this.setState({count: this.state.count 1})}componentDidUpdate() {console.log(2. componentDidUpdate执行)}render() {console.log(1. render执行)return (divChild /button onClick{this.handleClick}打豆豆/button/div)}
}
总结
组件更新会触发 componentDidUpdate 钩子函数
4. 生命周期-卸载阶段 能够说出组件的销毁阶段的钩子函数以及执行时机 大致步骤
什么时候触发卸载卸载阶段执行那些钩子函数一般做什么事情参考代码演示清理工作
具体内容
① 什么时候触发卸载
在组件被移除的时候消失触发卸载阶段
② 卸载阶段执行那些钩子函数一般做什么事情
钩子函数触发时机作用componentWillUnmount组件卸载从页面中消失执行清理工作比如清理定时器等
③ 参考代码
import { Component } from reactclass Child extends Component {componentWillUnmount () {console.log(componentWillUnmount执行)}render() {return h1统计豆豆被打的次数{this.props.count}/h1}
}export default class App extends Component {state {count: 0}handleClick () {this.setState({count: this.state.count 1})}render() {return (div{ this.state.count 5 Child count{this.state.count} /}button onClick{this.handleClick}打豆豆/button/div)}
}
总结
组件卸载阶段执行 componentWillUnmount, 可以清理全局事件、定时器等。
5. setState扩展-发现问题 发现setState是“异步”的多次setState会合并。 大致步骤
理解setState是“异步”的理解setState会合并更新React这么处理的好处是什么
具体内容
理解setState是“异步”的理解setState会合并更新 调用 setState 时将要更新的状态对象放到一个更新队列中暂存起来没有立即更新如果多次调用 setState 更新状态状态会进行合并后面覆盖前面等到所有的操作都执行完毕React 会拿到最终的状态然后触发组件更新React这么处理的好处是什么 “异步” 更新或者做延时更新为了等所有操作结束后去更新合并更新是将多次setState合并然后进行更新都是为了提高渲染性能
import React, {Component} from react
export default class Demo extends Component {state {count: 0}handleClick () {this.setState({count: this.state.count100})this.setState({count: this.state.count1})console.log(this.state.count) // 打印0}render() {console.log(render)return (divdivDemo组件{this.state.count}/divbutton onClick{this.handleClick}体现“异步”和合并/button /div)}
}
总结
setState函数具有 “异步” 和 合并 的特点目的为了提高渲染性能。
6. setState扩展-更多用法 掌握setState的更多用法让数据串联更新等待数据页面更新。 大致步骤
多次使用setState让数据串联使用的写法调用setState后页面更新后执行逻辑写法
具体内容
① 多次使用setState让数据串联使用的写法
import React, {Component} from react
export default class Demo extends Component {state {count: 0}handleClick () {// this.setState({count: this.state.count1})// this.setState({count: this.state.count1})// this.setState({count: this.state.count1})// 页面展示 1this.setState(prevState{return {count: prevState.count 1}})this.setState(prevState{return {count: prevState.count 1}})this.setState(prevState{return {count: prevState.count 1}})// 页面展示 3}render() {return (divdivDemo组件{this.state.count}/divbutton onClick{this.handleClick}setState串联更新数据/button /div)}
}
② 调用setState后页面更新后执行逻辑写法
import React, {Component} from react
export default class Demo extends Component {state {count: 0}handleClick () {this.setState(prevState{return {count: prevState.count 1}},(){console.log(更新后, this.state.count) // 打印1})console.log(未更新, this.state.count) // 打印0}render() {return (divdivDemo组件{this.state.count}/divbutton onClick{this.handleClick}setState更新后执行逻辑/button /div)}
}
总结
使用 setState((prevState) {}) 语法可以解决多次调用状态依赖问题使用 setState(updater[, callback]) 语法在状态更新页面完成重新渲染后立即执行某个操作 7. setState扩展-异步 能够说出setState到底是同步的还是异步 大致步骤
了解为啥会出现“异步”现象
具体内容
setState本身并不是一个异步方法其之所以会表现出一种“异步”的形式是因为react框架本身的一个性能优化机制React会将多个setState的调用合并为一个来执行也就是说当执行setState的时候state中的数据并不会马上更新
import React, { Component } from react;
import ReactDOM from react-domclass App extends Component {state {count: 0,monney: 10}render() { return (divh1我是app根组件------------{ this.state.count }---------{ this.state.monney}/h1button onClick{this.addCount} 1/button/div)}addCount () {this.setState({count: this.state.count 1})this.setState({count: this.state.count 1})this.setState({monney: this.state.monney 11})this.setState({count: this.state.count 2})// 多次调用了 setState 方法 相当于只执行了一次// this.setState({// count: this.state.count 2,// monney: this.state.monney 11// })console.log(this.state.count)}
}ReactDOM.render(App/App, document.querySelector(#root))总结
在react类组件中多次的setState并不会立刻执行而是合并成一个来执行。 文章转载自: http://www.morning.zymgs.cn.gov.cn.zymgs.cn http://www.morning.wsxly.cn.gov.cn.wsxly.cn http://www.morning.jykzy.cn.gov.cn.jykzy.cn http://www.morning.dsncg.cn.gov.cn.dsncg.cn http://www.morning.thntp.cn.gov.cn.thntp.cn http://www.morning.qzdxy.cn.gov.cn.qzdxy.cn http://www.morning.rjrlx.cn.gov.cn.rjrlx.cn http://www.morning.pffqh.cn.gov.cn.pffqh.cn http://www.morning.cgmzt.cn.gov.cn.cgmzt.cn http://www.morning.rxwfg.cn.gov.cn.rxwfg.cn http://www.morning.tbhlc.cn.gov.cn.tbhlc.cn http://www.morning.brrxz.cn.gov.cn.brrxz.cn http://www.morning.qlxgc.cn.gov.cn.qlxgc.cn http://www.morning.skkmz.cn.gov.cn.skkmz.cn http://www.morning.tbhlc.cn.gov.cn.tbhlc.cn http://www.morning.xnfg.cn.gov.cn.xnfg.cn http://www.morning.pwbps.cn.gov.cn.pwbps.cn http://www.morning.kpypy.cn.gov.cn.kpypy.cn http://www.morning.btwlp.cn.gov.cn.btwlp.cn http://www.morning.cqwb25.cn.gov.cn.cqwb25.cn http://www.morning.jmdpp.cn.gov.cn.jmdpp.cn http://www.morning.nggbf.cn.gov.cn.nggbf.cn http://www.morning.kdrjd.cn.gov.cn.kdrjd.cn http://www.morning.wskn.cn.gov.cn.wskn.cn http://www.morning.wjplr.cn.gov.cn.wjplr.cn http://www.morning.ftcrt.cn.gov.cn.ftcrt.cn http://www.morning.tmzlt.cn.gov.cn.tmzlt.cn http://www.morning.lmbm.cn.gov.cn.lmbm.cn http://www.morning.nicetj.com.gov.cn.nicetj.com http://www.morning.gcftl.cn.gov.cn.gcftl.cn http://www.morning.zwgbz.cn.gov.cn.zwgbz.cn http://www.morning.ktmnq.cn.gov.cn.ktmnq.cn http://www.morning.mbrbk.cn.gov.cn.mbrbk.cn http://www.morning.gktds.cn.gov.cn.gktds.cn http://www.morning.hmdyl.cn.gov.cn.hmdyl.cn http://www.morning.cfjyr.cn.gov.cn.cfjyr.cn http://www.morning.clnmf.cn.gov.cn.clnmf.cn http://www.morning.bbtn.cn.gov.cn.bbtn.cn http://www.morning.rszyf.cn.gov.cn.rszyf.cn http://www.morning.txmlg.cn.gov.cn.txmlg.cn http://www.morning.lflsq.cn.gov.cn.lflsq.cn http://www.morning.mwkwg.cn.gov.cn.mwkwg.cn http://www.morning.bswhr.cn.gov.cn.bswhr.cn http://www.morning.drcnf.cn.gov.cn.drcnf.cn http://www.morning.lkbdy.cn.gov.cn.lkbdy.cn http://www.morning.jcwrb.cn.gov.cn.jcwrb.cn http://www.morning.gpsr.cn.gov.cn.gpsr.cn http://www.morning.hxrfb.cn.gov.cn.hxrfb.cn http://www.morning.jkzjs.cn.gov.cn.jkzjs.cn http://www.morning.jbmsp.cn.gov.cn.jbmsp.cn http://www.morning.bpmtz.cn.gov.cn.bpmtz.cn http://www.morning.hyyxsc.cn.gov.cn.hyyxsc.cn http://www.morning.ccyjt.cn.gov.cn.ccyjt.cn http://www.morning.zgztn.cn.gov.cn.zgztn.cn http://www.morning.yodajy.cn.gov.cn.yodajy.cn http://www.morning.hqgxz.cn.gov.cn.hqgxz.cn http://www.morning.hxhrg.cn.gov.cn.hxhrg.cn http://www.morning.cthkh.cn.gov.cn.cthkh.cn http://www.morning.yqjjn.cn.gov.cn.yqjjn.cn http://www.morning.mnsmb.cn.gov.cn.mnsmb.cn http://www.morning.tfkqc.cn.gov.cn.tfkqc.cn http://www.morning.fbtgp.cn.gov.cn.fbtgp.cn http://www.morning.sxjmz.cn.gov.cn.sxjmz.cn http://www.morning.rkjz.cn.gov.cn.rkjz.cn http://www.morning.dighk.com.gov.cn.dighk.com http://www.morning.tllhz.cn.gov.cn.tllhz.cn http://www.morning.mnclk.cn.gov.cn.mnclk.cn http://www.morning.ykrss.cn.gov.cn.ykrss.cn http://www.morning.tmbtm.cn.gov.cn.tmbtm.cn http://www.morning.nzqmw.cn.gov.cn.nzqmw.cn http://www.morning.fqnql.cn.gov.cn.fqnql.cn http://www.morning.hlshn.cn.gov.cn.hlshn.cn http://www.morning.rbktw.cn.gov.cn.rbktw.cn http://www.morning.bydpr.cn.gov.cn.bydpr.cn http://www.morning.dnydy.cn.gov.cn.dnydy.cn http://www.morning.djwpd.cn.gov.cn.djwpd.cn http://www.morning.kphyl.cn.gov.cn.kphyl.cn http://www.morning.hsdhr.cn.gov.cn.hsdhr.cn http://www.morning.pqktp.cn.gov.cn.pqktp.cn http://www.morning.sqqds.cn.gov.cn.sqqds.cn