react-native 生命周期
自定义组件(Component)
组件生命周期:
constructor:
在组件创建的时候调用一次,这个方法进行this.state初始化状态机
constructor(props) {
super(props); // 初始状态
this.state = {
isShow:true
};}
componentWillMount:
在组件生命周期中只会被执行一次,在初始渲染(render函数)前被执行
注意:
- 如果这个函数通过setState函数修改状态机变量,RN框架不会额外执行渲染(界面刷新)
- 如果子组件也有componentWillMount函数使用,会在父组件之后调用
- 需要从本地存储中读取数据用于显示,常用这个函数
componentDidMount:
在React Native组件的生命周期中,这个函数只会被执行一次,它在初始渲染完成后会马上被调用。在这之后开发者可以通过子组件的引用来访问,操作任何子组件.
如果RN组件的子组件也有componentDidMount函数,并会在父组件的componentDidMount函数之前被调用。
- 常用来网络请求数据
componentWillReceiveProps
在React Native组件的初始渲染完成后,props改变时,这个函数被调用,参数是个新的props
shouldComponentUpdate
React Native组件的初始渲染执行完成后, RN组件接收到新的state或者props时这个函数会调用。
- 通过这个函数阻止无必要的重新渲染,是提高React Native应用程序性能的一大技巧。
componentWillUpdate
初始渲染完成后,重新渲染前会调用这个函数。
- 这个函数不能通过this.setState再次改变状态机变量的值。
componentDidUpdate
RN组件初始渲染完成后,RN框架在重新渲染RN组件完成后调用。
参数是渲染前的props和 state