RN 组件的生命周期大致分为了三个阶段:
- 第一阶段:绘制组件,完成组件的加载和初始化
- 第二阶段:组件运行交互阶段。
- 第三阶段:组件消亡阶段。
生命周期的回调函数
- getDefaultProps 在组件创建之前会调用 getDefaultProps 。
- getInitialState 在组件创建并被加载的时候来初始化组件的状态。
- componetWillMount 准备加载组件,这个方法在初始化了组件的状态过后,在进行绘制之前进行调用。可以在这个时候做一些初始的操作。这个方法在整个生命周期中只会被调用一次。
- componetDidMount 组件在第一次绘制之后,通知组件已经加载完成。在这里已经可以获取组件中的元素了。RN 调用其顺序从子组件想父组件进行的。这个函数被调用一次过后,组件就进入了一个稳定运行的状态了,等待事件触发。
- componetWillReceiveProps 组件收到新的 props 的时候调用,在这个函数里面可以根据属性的变化,来更新组件的状态。
- shouldComponetUpdate 组件收到新的 props 或者 state 发生改变的时候都会触发这个函数,其返回值为 boolean 型(默认为 true),决定是否更新组件。
- componentWillUpdate 如果 shouldComponetUpdate 返回为 true ,就准备开始更新组件,并调用 componentWillUpdate,然后调用 render 来组件。
- componentDidUpdate 在调用 render 更新完组件过后,调用 componentDidUpdate 来得到更新完成的通知。
- componentWillUnmount 组件将要从界面上移除的时候,在这里一般做一点清理工作。
参考链接
网友评论