React Native之生命周期

React Native生命周期 这篇文章主要讲讲RN的生命周期,并概述一下在每个阶段都干了些什么。 RN的生命周期大致可分为三个阶段,实例化 -> 运行 -> 销毁。 首先讲讲大体的三个阶段做了啥: 实例化阶段:组件第一次绘制。这个阶段完成组件的加载和初始化。 运行阶段:组件进行交互。这个阶段组件可以处理交互,或者接受新的事件更新界面。 销毁阶段:组件卸载消亡。这个阶段做一些组件的清理工作。   下... 阅读详情

React Native生命周期主要分为三大阶段:实例化阶段(图中上框部分),存在阶段(图中左框部分),销毁阶段(图中右框部分)。

如图:
这里写图片描述

下面简单讲解一下三大阶段中各自的函数:

实例化阶段:

在日常开发中,最为常用的就是实例化阶段,因为该阶段是组件的构建,展示阶段。

getDefaultProps:

该函数用于初始化一些默认的属性,开发中,通常将一些固定不变的值放在该函数内进行初始化,比如url。可以利用this.props.XXX 来获取该属性值。由于被初始化后,以后就不会再调用getDefaultProps函数,所以不能对props修改,也就是pros是只读属性的。

getInitialState:

该函数用于对组件的一些状态进行初始化,该状态是随时变化的(也就是说该函数会被多次调用),比如ListView的datasource,rowData等等,同样的,可以通过this.state.XXX获取该属性值,同时可以对该值进行修改,通过this.setState修改,如:

this.setState({
    age:11,
    name:'少停'
});

componentWillMount: 

该函数类似于iOS中的VillWillAppear,在组件即将加载在视图上调用。

render: 

该函数组件必有的,通过返回JSX或其他组件来构成DOM,换言之,就是组件的核心渲染过程。

componentDidMount:

在执行完render函数之后,该函数被执行,我们通常可以在该函数当中做一些复杂操作,如网络请求。

存在阶段:

componentWillReceiveProps:

组件将要修改props或者state

shouldComponentUpdate:

常用于优化

componentWillUpdate:

组件更新时调用

componentDidUpdate:

组件更新完毕时调用

销毁阶段:

componentWillUnmount:

通常做一些清理内容

这里写图片描述

/**
 * Sample React Native App
 * https://github.com/facebook/react-native
 * 周少停 生命周期:实例化阶段.存在阶段.销毁阶段
 * 2016-09-19
 */

import React, { Component } from 'react';
import {
  AppRegistry,
  StyleSheet,
  Text,
  TouchableOpacity,
  View
} from 'react-native';
//ES5写法 ES5写法和ES6稍有不同
var LifeDate = React.createClass({ 
  getDefaultProps(){    //初始化一些不可以修改的值,初始化完毕后将不会再次调用,可以通过this.props来获取初始化后的值,不可以修改
    return{
        age:18 //永远18
    };
  },
  getInitialState(){     //初始化一些可以修改的值,会多次调用,可以通过this.state来获取值,通过this.setState来修改修改值
    return {
      isGoodPerson:true,
      content: '我是什么人'
    };
  },
  componentWillMount(){
    return{
                        //相当于iOS中viewWillAppear
    };
  },
  componentDidMount(){
    return{
                        //相当于iOS中的viewDidLoad 可以在这里做一些复杂操作,如网络请求数据
    };
  },
  render() {
    return (
      <View ref="topView" style={styles.container}>
        <TouchableOpacity onPress = {() =>this.dealWithState(this.state.isGoodPerson)}>
          <View style={styles.innerViewStyle}>
            <Text>{this.state.content}</Text>
            <Text>{this.props.age}</Text>
          </View>
        </TouchableOpacity>
      </View>
    );
  },
  dealWithState: function(data:Boolean){
    var isGoodPerson,content;
    if(data){
      isGoodPerson = false,
      content = '我是大好人'
    }else{
      isGoodPerson = true,
      content = '我是坏淫'
    }
    //更新状态机
    this.setState({
      isGoodPerson: isGoodPerson,
      content: content
    });
    //拿到View
    this.refs.topView
  } 
});
const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#F5FCFF'
  },
  innerViewStyle: {
    backgroundColor: 'red'
  }
});

AppRegistry.registerComponent('Project', () => LifeDate);
React Native 组件的生命周期 一、生命周期流程图下面是通过ProcessOn绘制的React Native组件生命周期流程图,可以先大致看一下,有一个初步的概念,下文会详情介绍。二、基础巩固props 组件的不可变属性,在组件外部复制,在组件内部使用,当在组件内部props的改变,组件不会重新渲染。 是子组件与父组件通信的桥梁。 父组件向子组件传递数据的纽带。 ReactNativeActivity向Js传递数据的接收 阅读详情

相关推荐

React Native入门——组件构成及生命周期简介

刚开始接触React Native开发的程序猿可能会拿着网上的例子和文档一头雾水,毕竟不是像C语言有个main、Android有个OnCreate,iOS有个ViewDidLoad那样,加上JavaScript语法的随意性,让很多人无从下手,本文主要介绍React Native组件的生命周期,帮助读者理解一个React Native组件如何进行展示,如何进行开发。

可爱的程序猿 8836

React Native 生命周期

前言:          在面向对象编程中,任何对象的存在都会存在生命周期。类似我们iOS 的View,就会有LoadView,ViewWillAppear,ViewDidLoad等等生命周期。RN也不例外,这篇主要学习RN的生命周期,在开发中如果掌握了并熟练的运用生命周期函数的话,往往开发能事半功倍。 React Native生命周期简介

星宇大前端 2142

React-Native生命周期的触发场景和一些小建议

转载请注明出处:王亟亟的大牛之路把王者荣耀删了后这几天回到了举铁,遛鸟,打球,睡觉的正常节奏,然后卡了看之前写的一些东西,发现生命周期没写,那么就补一篇(虽然搜搜一大堆,但是残缺总不合适,再加点建议点那就和别人的不同了)老规矩案例地址:https://github.com/ddwhan0123/Useful-Open-Source-Android(最近把时间选择器/日历这一块更新了好多内容)Reac

王亟亟的博客 1万+

React Navigation 5.x第八章 导航器的生命周期

在之前的章节中,我们学会了使用stack导航器,其有两个页面(Home和Details),并且知道如何使用navigation.navigate(‘RouteName’)在两个路由之间跳转。 在这篇文章中,我们主要了解当我们离开Home页面的时候都发生了什么,以及当我们返回到这个这个的时候其又发生了什么?路由是如何知道用户离开或者返回到这个页面的。 如果你之前从事过web相关工作,然后过来学习...

慕天远的博客 1830

TSMC40nmLP版图实战:从Design Rule解读到Cadence高效布局布线

本文详细解析了TSMC40nmLP工艺的版图设计实战,从Design Rule解读到Cadence高效布局布线技巧。重点介绍了40nm工艺中的关键设计规则,如最小线宽、间距规则和深N阱规则,并分享了Cadence Virtuoso中的高效工作流和射频模块设计技巧,帮助工程师提升版图设计效率和质量。

weixin_29250403的博客 378

R语言安装包镜像报错?5分钟教你快速切换国内镜像源(含清华/阿里云配置)

本文详细介绍了R语言安装包镜像报错的解决方案,包括如何快速切换国内镜像源(如清华、阿里云等),解决'无法读写貯藏處索引'等常见问题。通过图形界面和命令行两种方式,帮助用户高效配置镜像源,提升R语言包安装速度与稳定性。

weixin_29053073的博客 418

(十二)React-Native-生命周期详解

一.React-Native生命周期 说到生命周期,大家大概也能想到就是创建、销毁、状态改变。RN的组件就是一个状态机。它接收两个输入参数:props和state,返回一个Virtual DOM。和Native一样,RN也为我们提供相应的钩子函数。RN的状态变化取决于props和state。我们先来看一张经典图。 这张图涵盖了一个组件从创建、运行到销毁的整个过程。大家可以看到,初始

袁梦龙的博客 2449

史上最强量化工具库 Ta-Lib 从入门到精通,一篇文章就够了!

Ta-Lib 提供的 13 个关键指标,并配上详细的代码示例,确保你看完就能直接上手!🔥。

奔跑的蜗牛 9915

React Native的生命周期

React Native 组件的生命周期方法有助于开发者在不同阶段管理组件的行为,尤其在处理网络请求、事件监听器、定时器等副作用时,生命周期方法显得尤为重要。在实际项目中,合理使用这些生命周期方法可以有效管理资源和提升性能。

学习记录 1067

ANPC三电平拓扑:两种调制方式解析

ANPC结构是基于“I”型NPC结构(下面讲NPC如不特殊说明,均指的是“I”型结构NPC)发展出来的一种改进型。我们在讲NPC结构的时候会谈到他的一个缺点就是损耗分布不均匀,会导致温升不均衡,进而限制模块的功率输出能力。而ANPC结构由于多了两个开关管以及相应的两个中性点换流回路(如下图),可以更加灵活任意的配置开关管可以使损耗没有那么的不均衡,从而能一定程度上提高模块的输出功率。ANPC拓扑结构图以及增加的环流回路。

IOTBOT的博客 9475

Vienna整流器双PI闭环仿真:从SVPWM调制到中点电位平衡的实践解析

本文深入解析Vienna整流器双PI闭环仿真技术,涵盖SVPWM调制和中点电位平衡的实践细节。通过详细的MATLAB/Simulink仿真搭建流程和常见问题排查方法,帮助工程师掌握高效整流器控制策略,提升系统稳定性和动态响应性能。

weixin_29168153的博客 326

React Native之ReactJs生命周期(四)

1.创建阶段 getDefaultProps:处理props的默认值 在React.createClass调用 2.实例化阶段 getInitialState、componentWillMount、render、componentDidMount state:组件的属性,主要是用来存储组件资深需要的数据,每次数据的更新都是通过 修改state属性的值,ReactJs内部会监听state属

旺仔的博客 397

别再只会复制Haar级联代码了!OpenCV人脸检测全方案深度解析,从原理到工业级落地

通用预训练模型在你的业务场景效果不好时,用自己的业务数据集训练专属的级联器,是提升精度的终极方案,OpenCV自带和工具,支持自定义Haar/LBP级联器训练。场景首选方案次选方案新手入门学习Haar级联分类器LBP级联分类器嵌入式轻量固定场景LBP级联分类器YuNet轻量版工业级落地项目(99%场景)DNN+YuNetMTCNN多人脸+小目标复杂场景DNN+YuNet自定义微调模型同时做人脸+其他目标检测。

2601_94871597的博客 379

React Native实战之ReactJS组件生命周期

React 组件就是一个状态机,它接受两个输入参数: this.props 和 this.state,返回一个虚拟DOM。React组件的生命周期分几个阶段,每个阶段会有若干个回调函数可以响应不同的时刻。1.创建阶段getDefaultProps:处理props的默认值 在React.createClass调用 2.实例化阶段getInitialState: 获取 this.state 的默认值co

u014732103的博客 358

【城市数据集】世界城市数据库和访问门户工具WUDAPT

简介世界城市数据库和访问门户工具WUDAPT

WW、forever的博客 1284

PR工具timing report中setup time的计算过程

然后去pr工具里报告report_delay_calculation/reportDelayCalculation -from related_pin -to constraint_pin。这里constraint pin就是D pin (D0 D1 D2 D3),related pin就是 CK pin。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?

m0_61544122的博客 453

React-Native生命周期详解

一.React-Native生命周期 说到生命周期,大家大概也能想到就是创建、销毁、状态改变。RN的组件就是一个状态机。它接收两个输入参数:props和state,返回一个Virtual DOM。和Native一样,RN也为我们提供相应的钩子函数。RN的状态变化取决于props和state。我们先来看一张经典图。 这张图涵盖了一个组件从创建、运行到销毁的整个过程。大家可以看到,初始化...

Cai_javaXiaoFan的博客 1999

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

react-native组件生命周期

对react-native生命周期进行总结 生命周期 调用次数 能否使用setState() getDefaultProps 1(全局调用一次) 否 getInitialState 1 否 componentWillMount 1 是 render >=1 否 componentDidMount 1 是 componentWillReceiveProps >=0 是 shou..

weixin_44373115的博客 486

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

React-Native 中的生命周期

笔者接触React-native有一顿时间了,感觉React入门还是比较简单的,以前一直觉得React-Native是前端工程师的事,现在风向都变了,变成移动端工程师的硬性指标,特学习一下React-Native的生命周期,在这里记录一下。 生命周期在每个语言里都是很重要的。 网上找到一张用的比较多的图,现追随先人的脚步来分析吧 首先可以把组件的生命周期大致分为三个阶段: 第一阶段:是组

做 291

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

《react-native》从零开始(一)生命周期

讲下怎么搭建开发环境 react-native 中文官网

u014242522的博客 461

React Native 中组件的生命周期

概述就像 Android 开发中的 View 一样,React Native(RN) 中的组件也有生命周期(Lifecycle)。所谓生命周期,就是一个对象从开始生成到最后消亡所经历的状态,理解生命周期,是合理开发的关键。RN 组件的生命周期整理如下图:如图,可以把组件生命周期大致分为三个阶段:第一阶段:是组件第一次绘制阶段,如图中的上面虚线框内,在这里完成了组件的加载和初始化; 第二阶段:是组件

u014732103的博客 299

React-Native之生命周期

概述就像 Android 开发中的 View 一样,React Native(RN) 中的组件也有生命周期(Lifecycle)。所谓生命周期,就是一个对象从开始生成到最后消亡所经历的状态,理解生命周期,是合理开发的关键。RN 组件的生命周期整理如下图:如图,可以把组件生命周期大致分为三个阶段:第一阶段:是组件第一次绘制阶段,如图中的上面虚线框内,在这里完成了组件的加载和初始化;第二阶段:是组件在...

蓝莓味的鱼 1585
上一篇: HTTP协议:缓存
下一篇: React 组件生命周期
.NET跨平台
博客等级 码龄15年 6066粉丝 738原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值