快乐十分开奖纪录: react复习总结(2)--react生命周期和组件通信

山西快乐十分走势 www.yfhdr.cn 这是react项目复习总结第二讲,

第一讲://www.yfhdr.cn/wuhairui/p/10367620.html

 

首先我们来学习下react的生命周期(钩子)函数。

什么是react生命周期呢?

就是指react组件执行时在某个特定的时间点自动调用执行的函数。

 

首先一图献上:

流程图显示:

1.getDefaultProps时是定义默认值。

2.页面首次渲染:getInitialState时是定义默认状态-->然后componentWillMount(渲染前执行)-->render(渲染)-->componentDidMount(渲染后执行)

3.页面更新:当执行this.setState后,先执行shouldComponentUpdate(是否需要更新,一般为true)-->componentWillUpdate(更新前执行)-->render(渲染)-->componentDidUpdate(更新后执行)

 

根据平时开发经历:不变的数据一般建议直接使用this.props渲染到render中,如果需要后期变化的数据可以先存着state中,使用this.state渲染到render中,后期使用this.setState进行修改。

如果有的数据要在渲染前就改变数据??梢允褂胻his.props或this.state直接修改,然后渲染render。

 

 

ES5传统创建组件方式是这样的:

getDefaultProps:设置组件默认的props(属性)

getInitialState:设置组件默认的state(状态)

执行顺序是:

另外,getDefaultProps函数组件未创建实例时就会被执行。

 

除了上面的ES5,还有现在大多数被使用的是ES6模式创建组件。

以类的方式作为组件,使用的组件就是这个组件类的对象。

static defaultProps:设置默认属性

constructor:用于设置默认状态 初始化。必须使用super,之后才能使用this

执行顺序:

 

componentWillMount、componentDidMount 这2个生命周期是首次进入页面render前执行的

顺序:

 

componentWillReceiveProps 是组件的传入属性父组件修改后执行的:

接收到父组件传入的新props。

父组件修改传入属性的方式:

传入的值是个state就可以。

(这是组件通信的一种方式,属于父子组件关系的通信,这是父传子

 

要实现子传父的话,那父组件调用子组件时传个回调函数获取就可以了

如:

这是父组件render

父组件回调函数

这是子组件属性被修改函数,执行这个回调函数即可执行父组件函数

这里这么用,父组件传值给子组件后,子组件能立即回调父组件,形成有来有回。

点击按钮,这里输出111。

 

直接子传父的方法:

父:

子:

父组件传个回调给子组件,子组件通过this.props可调用到这个函数,子就可以传值给父组件了。

 

posted @ 2019-03-12 23:53 海瑞菌·博客 阅读(...) 评论(...) 编辑 收藏
  • 规模化生产或为AI发展方向 2019-03-26
  • 国际足联开通中文官网 世界杯前夕示好中国球迷 2019-03-26
  • 南开大学校长龚克:“双一流”建设要务根本、养静气 2019-03-24
  • 满满的都是屏 OPPO妹子最爱手机曝光 2019-03-24
  • 本周呼声回馈:上学房产维权每天上演 食客深夜撸串成扰民新顽症 2019-03-22
  • 猎德村招景 央视到场直播 2019-03-22
  • “暗剑”可提升中国在东海和南海“区域拒止”能力 2019-03-17
  • 来自报告里的大白话,让你百听不厌 2019-03-17
  • 钟汉良押题 明星都有哪些押题神预测 2019-03-14
  • 全国首套房贷款利率连续17个月上升 2019-03-14
  • 重庆公安局交通管理信息网 2019-02-01
  • 《侏罗纪世界2》将上映 “星爵”透露:和恐龙的关系“情同父女” 2019-02-01
  • 美俄再次上演制裁大戏 2019-01-05
  • 溃疡恶变也会腹痛 这些肿瘤最容易被误诊 2018-09-04
  • 候选企业:光大证券股份有限公司 2018-09-04
  • 99| 719| 384| 552| 181| 312| 90| 606| 792| 559|