React(3)--组件的生命周期
2016-09-21 00:37
531 查看
我们正式开始 React 的学习
我们先看一下 React 的一个简单的例子:
//引入React import React from 'react'; import ReactDom from 'react-dom'; //Example组件 const Example = React.createClass({ render : function(){ <div className="content"> {this.props.children} </div> } }); //加载Example组件 ReactDom.render{( <div> <Example> <span>简单用例</span> </Example> </div>, document.getElementById('app'); )}; /**注解: ** ** 把Example加载到 id 为 app 的 DOM 节点下 ** ReactDOM.render 是 React 的最基本方法,用于将模板转为 HTML 语言,并插入指定的 DOM 节点。 ** React.createClass 方法就用于生成一个组件类 **/
我是有点 React 基础的,如果刚接触 React 我建议可以看看 阮一峰的React日志,写的非常好,而我写来只是一种学习方式,用来积累学习、总结熟悉 React 知识。在此,如果有错、不合理的地方希望指点我,谢谢大家。
→ React 组件的生命周期
一、 组件生命周期的 3 个状态:1. Mounting(已插入真实 DOM)
2. Updating(正在被渲染)
3. Unmounting(已移出真实 DOM)
→ React 组件生命周期的方法:
*官方文档实例化:每当新的组件被创建、首次渲染时
存在期:组件渲染完毕,并且用户可以与它进行交互
销 毁:React使用完组件,它必须从 DOM 中卸载随后被销毁
阶段 | 方法 | 说明 |
---|---|---|
实例化 | getDefaultProps | 作用于组件类,只调用一次,返回对象用于设置默认的props, 对于引用值,会在实例中共享。 |
getInitialState | 作用于组件的实例,在实例创建时调用一次,用于初始化每个实例的state, 此时可以访问this.props。 | |
componentWillMount | 在完成首次渲染之前调用,render方法调用前最后一次机会修改组件的state。 | |
render | 必选的方法,创建虚拟DOM,用来表示组件输出。 该方法具有特殊的规则: → 1. 只能通过this.props和this.state访问数据 → 2. 可以返回null、false或任何React组件 → 3. 只能出现一个顶级组件(不能返回数组) → 4. 不能改变组件的状态 → 5. 不能修改DOM的输出 | |
componentDidMount | 在第一次渲染后调用,只在客户端。之后组件已经生成了对应的DOM结构, 可以通过 this.getDOMNode() 来进行访问。 如果你想和其他JavaScript框架一起使用,可以在这个方法中调用setTimeout, setInterval或者发送AJAX请求等操作(防止异部操作阻塞UI)。 | |
存在期 | componentWillReceiveProps | 组件接收到新的props时调用, 并将其作为参数nextProps使用,此时可以更改组件props及state。 |
shouldComponentUpdate | 组件是否应当渲染新的props或state, 返回false表示跳过后续的生命周期方法,通常不需要使用以避免出现bug。 在出现应用的瓶颈时,可通过该方法进行适当的优化。 | |
componentWillUpdate | 接收到新的props或者state后,进行渲染之前调用, 此时不允许更新props或state。 | |
componentDidUpdate | 完成渲染新的props或者state后调用,此时可以访问到新的DOM元素。 | |
销毁期 | componentWillUnmount | 组件被移除之前被调用,可以用于做一些清理工作, 在componentDidMount方法中添加的所有任务都需要在该方法中撤销, 比如创建的定时器或添加的事件监听器。 |
→ 例解:
getDefaultProps、getInitialState区别:前者对组件类,后者对实例我们可以写个简单的例子来验证,但由于时间关系,我看可以看看下面的例子:例子
验证很简单,但如何活用 React 组件的生命周期方法呢?这也是我在学习和探讨的。
相关文章推荐
- 狗屎一样的React(第五节,React组件的生命周期)
- Android React Native组件的生命周期及回调函数
- react-组件生命周期
- React Native 中组件的生命周期
- React组件的生命周期
- React 组件的生命周期API和事件处理
- React组件生命周期过程说明
- react组件的生命周期
- react组件生命周期过程
- React 组件生命周期
- ReactNaive组件生命周期
- React中文教程 - Component Lifecycle(组件的生命周期)
- React 组件生命周期的说明及相关API
- react 组件生命周期
- React Native(RN)-组件生命周期
- Android React Native组件的生命周期
- React组件概念和生命周期
- ReactNative – 组件的生命周期
- React 组件的生命周期
- React组件生命周期过程说明