React Native之AppRegistry模块

我们在写react native的js的时候,在最后总会加上一段代码:

AppRegistry.registerComponent('ReactDemo', () => ReactDemo);

代码的意思:定义了一个名为ReactDemo的新的组件(Component),并且使用了名为AppRegistry的内置模块进行了“注册”操作。在编写React
Native应用时,肯定会写出很多新的组件。而一个App的最终界面,其实也就是各式各样的组件的组合。这和android和ios的思路不谋而合,其实React Native的组件也很丰富。看官方提供的常用组件:

AppRegistry模块则是用来告知React
Native哪一个组件被注册为整个应用的根容器。

使用AppRegistry.registerComponent进行注册自己,然后原生系统就可以进行加载运行bundle文件包,最后就会可以调用AppRegistry.runApplication进行运行起来应用。当一个视图被摧毁的时候,为了结束应用需要调用AppRegistry.unmountApplictionComponentAtRootTag方法。

AppRegistry常用方法

.registerConfig(config:Array<AppConfig>)  static 静态方法, 进行注册配置信息

.registerComponent(appKey:string,getComponentFunc:ComponentProvider)  static静态方法,进行注册组件

.registerRunnable(appKey:string,func:Function)  static静态方法 ,进行注册线程

.registerAppKeys()  static静态方法,进行获取所有组件的keys值

.runApplication(appKey:string,appParameters:any)  static静态方法, 进行运行应用

.unmountApplicationComponentAtRootTag()  static静态方法,结束应用

AppRegistry是React中最基本的模块,以后会慢慢讲解。

时间: 2025-01-21 05:50:33

React Native之AppRegistry模块的相关文章

React Native调用原生模块

概述 有时候App需要访问平台API,但React Native可能还没有相应的模块包装:或者你需要复用一些Java代码,而不是用Javascript重新实现一遍:又或者你需要实现某些高性能的.多线程的代码,譬如图片处理.数据库.或者各种高级扩展等等.我们知道React Native本身对这种偏业务和底层调用是不关心的,这时候我们就想到了原生组件,我们通过调用原生组件,然后经过特定的封装来达到效果.如我们在原生开发中常见的Toast为例: 原生模块封装 假设我们希望可以从Javascript发起

React Native中的Android原生模块

当使用 React Native 开发 Android 应用时,你可能需要使用没有被 React Native 封装的模块.但你可以使用 Java 编写原生模块,然后选择性的暴露公共接口到 React Native.一起来试一下! 我们要写一个什么东西 在写这篇文章时,React Native 包含了 ImagePickerIOS 组件,但是在 Android 平台上却没有对应的 ImagePicker 组件.我们接下来就要为 Android 构建一个简单的.和 ImagePickerIOS 大

Hybrid App 和 React Native 开发那点事

简介:Hybrid App(混合模式移动应用)开发是指介于Web-app.Native-App这两者之间的一种开发模式,兼具「Native App 良好用户交互体验的优势」和「Web App 跨平台开发的优势」.很多人都知道,React Native 是 Facebook 开源的框架,可以直接用 Javascript 开发原生的APP,本文则会围绕开发中的具体实践问题进行讨论. 此前,我们在多篇文章中提到过 React Native,本次移动精英开发俱乐部又专门围绕 Hybrid App 和 R

H5、React Native、Native应用对比分析

每日更新关注:http://weibo.com/hanjunqiang  新浪微博!iOS开发者交流QQ群: 446310206 "存在即合理".凡是存在的,都是合乎规律的.任何新事物的产生总要的它的道理:任何新事物的发展总是有着取代旧事物的能力.React Native来的正是时候,一则是因为H5发展到一定程度的受限:二则是移动市场的迅速崛起强调团队快速响应和迭代:三则是用户的体验被放大,用户要求极致的快感,除非你牛x(例如:12306最近修改手机号需要用户自己发短信接收验证码).

如何在React Native中写一个自定义模块

前言 在 React Native 项目中可以看到 node_modules 文件夹,这是存放 node 模块的地方,Node.js 的包管理器 npm 是全球最大的开源库生态系统.提到npm,一般指两层含义:一是 Node.js 开放式模块登记和管理系统,另一种是 Node.js 默认的模块管理器,是一个命令行软件,用来安装和管理 node 模块.本文旨在探讨如何在 React Native 中写一个自定义的 npm 模块(类似于插件),并上传到 npm 上供他人使用. npm 使用介绍 np

如何在 React Native 中写一个自定义模块

前言 在 React Native 项目中可以看到 node_modules 文件夹,这是存放 node 模块的地方,Node.js 的包管理器 npm 是全球最大的开源库生态系统.提到npm,一般指两层含义:一是 Node.js 开放式模块登记和管理系统,另一种是 Node.js 默认的模块管理器,是一个命令行软件,用来安装和管理 node 模块.本文旨在探讨如何在 React Native 中写一个自定义的 npm 模块(类似于插件),并上传到 npm 上供他人使用. npm 使用介绍 np

Android React Native原生模块与JS模块通信的方法总结

Android React Native原生模块与JS模块通信的方法总结 前言: 在做React Native开发的时候避免不了的需要原生模块和JS之间进行数据传递,这篇文章将向大家分享原生模块向JS传递数据的几种方式. 方式一:通过Callbacks的方式 说起Callbacks大家都不陌生,它是最常用的设计模式之一.无论是Java,Object-c,C#,还是JavaScript等都会看到Callbacks的身影. 原生模块支持Callbacks类型的参数,该Callbacks对应JS中的f

如何用 React Native 创建一个iOS APP?

诚然,React Native 结合了 Web 应用和 Native 应用的优势,可以使用 JavaScript 来开发 iOS 和 Android 原生应用.在 JavaScript 中用 React 抽象操作系统原生的 UI 组件,代替 DOM 元素来渲染等. React Native 使你能够使用基于 JavaScript 和 React 一致的开发体验在本地平台上构建世界一流的应用程序体验.React Native 把重点放在所有开发人员关心的平台的开发效率上--开发者只需学习一种语言就

React Native入门项目与解析

通过React Native 环境搭建和创建项目(Mac)可以成功创建一个新项目,即直接利用以下语句创建: //命令行创建项目:    react-native init AwesomeProject  创建成功后,刚入门的我们主要关注两个文件: 1)iOS项目目录下的AppDelegate.m 为将iOS项目连接js文件的入口,以及相关初始化操作. 2)根目录下的index.ios.js 为iOS对应的js入口文件. 一. 解析iOS项目中的AppDelegate.m 1. AppDelega