美文网首页
RN组件的生命周期

RN组件的生命周期

作者: 基本密码宋 | 来源:发表于2017-11-22 20:49 被阅读60次
/**
 * Sample React Native App
 * https://github.com/facebook/react-native
 * @flow
 */

import React, { Component } from 'react';
import {
  Platform,
  StyleSheet,
  Text,
  View,
  Image,
  TextInput,
  TouchableOpacity
} from 'react-native';

import TouchComment from './TouchComment'

var Dimensions =require('Dimensions');
var {width, height}=Dimensions.get('window');


export default class Lift extends Component<{}> {

    static defaultProps(){
        //1、为组件设置默认的属性
        console.log('defaultProps')
    }

    constructor(props) {
        super(props)
        //2
        console.log('constructor')

        this.state={
            count:0,
            remove:false  //标识是否组件被移除   用来测试组件的卸载的生命周期
        }

    }


    componentWillMount() {
        //转载前调用的方法
        //3
        console.log('componentWillMount')
    }


  render() {
        //4、进行渲染

      //看看是否移除。 如果移除返回null  没有移除的话则返回这个组件
      var view =this.state.remove?null:<TouchComment/>
      var text=this.state.remove?'让控件显示':'让控件隐藏'

      console.log('render')
    return (
        <View style={styles.container}>
            <Text onPress={()=>{
                 this.setState({
                     count:this.state.count+1
                 })
            }}>
                测试山居
            </Text>
            <Text>被点击了多少{this.state.count}次了</Text>


            <Text
                onPress={()=>{
                    this.setState({
                        remove:!this.state.remove
                    })
                }}
            >{text}</Text>

            {view}

        </View>
    );
  }

    componentDidMount() {
        //5、渲染完成啦
        console.log('componentDidMount')
    }


    /**
     * 当state的状态变化的时候
     */
    shouldComponentUpdate() {
        //6 当state的状态变化的时候 进行触发
        console.log('shouldComponentUpdate')
        return true; //当返回true的时候就行触发后面的生命周期。当返回时false的时候不会触发后面的生命周期。
    }

    componentWillUpdate(){
        //7、组件将要进行刷新了 当 6中shouldComponentUpdate 返回的事true的话  进行调用
        //执行此方法后调用  render 方法
        console.log('componentWillUpdate')
    }

    componentDidUpdate() {
        //8、组将更新完了的回掉方法
        console.log('componentDidUpdate')
    }

    /**
     * 卸载时候的状态
     */
    componentWillUnmount() {
        //当组件被移除的时候的方法回调
        console.log('componentWillUnmount')
        //此处不会被打印 因为这里卸载的不是该控件  是TouchComment  在TouchComment中就能打印此方法 了
    }


}





const styles = StyleSheet.create({
  container: {
    flex:1
  }

})

相关文章

  • 面试-ReactNative相关

    RN组件的生命周期 RN如何优化 Redux 和 MobX 选择 RN与原生通信 RN原理 ES6相关知识

  • React Native学习笔记之组件生命周期

    React Native学习笔记之组件生命周期 单一组件生命周期 首先看一下RN组件生命周期简略说明图 组件初始化...

  • 2018-06-11 RN组件的生命周期

    主题:组件的生命周期 RN组件的props和state 1.属性(props) 它是组件的不可变属性(组件自己不可...

  • ReactNative-组件的生命周期

    一、RN组件的生命周期 概要 组件的生命周期描述了其从生成到消亡所经历的一系列状态。深入理解组件的生命周期及相关回...

  • RN的生命周期

    RN的生命周期 getDefaultProps在组件创建之前,会先调用 getDefaultProps(),这是全...

  • React Native(RN)-组件生命周期

    生命周期简介 像 Android 开发一样,React Native(RN) 中的组件也有生命周期(Lifecyc...

  • React Native组件(二)View组件解析

    相关文章React Native探索系列React Native组件系列 前言 了解了RN的组件的生命周期后,我们...

  • react native面试题

    1、rn相比于原生,有哪些优势 2、rn组件的生命周期 3、rn的缺点有哪些 4、父传子,子传父实现原理 5、如何...

  • React Component(生命周期)

    RN 组件的生命周期如下图: 一、生命周期划分 第一阶段:组件第一次绘制,完成组件的加载和初始化。 第二阶段:组件...

  • ReactNative运行原理分析

    ReactNative运行原理分析 RN的生命周期 可以把组件生命周期大致分为三个阶段: 第一阶段:是组件第一次绘...

网友评论

      本文标题:RN组件的生命周期

      本文链接:https://www.haomeiwen.com/subject/elgovxtx.html