React 生命周期
2018-09-04 本文已影响0人
Live_60c3
- 函数式组件肯定是无状态组件,类组件可以是无状态组件也可以是有状态组件
生命周期:即react实例从创建到销毁的执行过程
具体生命周期分三个阶段:
创建(初始化)阶段:
componentWillMount:render渲染前
render:渲染钩子
componentDidMount:
* 1.渲染完后,DOM加载到页面上要执行的钩子,相当于vue的mounted钩子
* 2.推荐与后台交互获取数据在componentDidMount中获取
运行更新阶段:
componentWillReceiveProps:接收其他组件传过来的属性之前要执行的钩子,第一次组件加载时不会执行,有新数据传递过来时才执行
componentWillUpdate:是在组件间更新前触发,不管这个值有没有变化
componentDidUpdate:更新后执行的钩子
shouldComponentUpdate:生命周期钩子优化,可以判断render是否重新渲染,如果返回true,则渲染,否则返回false不渲染
销毁阶段:
props和state的区别:
state:(对内)针对组件内部的状态,组件外外部是访问不到的
props:(对外)是组件之间访问时用到的,组件内部可以通过props来访问到另一个组件的数据
原则:多用props,少用state
ref
this.props.chidren
proptypes
findDOMNode
弹性盒参考资料:
css3手册关于flex:
http://www.css88.com/book/css/properties/flex/align-self.htm
Flex 布局教程:语法篇
http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html
Flex 布局教程:实例篇
http://www.ruanyifeng.com/blog/2015/07/flex-examples.html
ES6 定义class参考:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Classes
数据交互:
原生实现:XMLHttpRequest,fetch
第三方库实现:jQuery $.ajax,axios等
如果是本地模拟json,json文件应该放在public目录下,
axios官方 github地址:https://github.com/axios/axios