作家
登录

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

作者: 来源: 2017-06-20 15:05:16 阅读 我要评论

  • import {NativeModules, Platform, DeviceEventEmitter} from 'react-native'
  •  
  • // 经由过程 NativeModules 找到我们在 Native 定义的 JPushModule 类 
  • const JPushModule = NativeModules.JPushModule; 
  •  
  • export default class JPush { 
  •  
  •     /** 
  •      * Android only 
  •      * 初始化JPush 必须先初始化才能履行其他操作 
  •     */ 
  •     static initPush() { 
  •         JPushModule.initPush(); 
  •     } 
  • } 
  • 膳绫擎定义了一个 initPush 办法,initPush 实际上调用了 JPushModule 中定义的 initPush 办法,其他办法与此类似,本质上都是经由过程 NativeModules 调用了 Native 供给的办法。

    宣布

    到此为止,我们已经完成了 React Native 自定义模块。如今可以宣布我们的自定义模块了。在 package.json 地点的目次下履行

    1. npm publish 

    就可以把我们的自定义模块上传到 npm 库了。每次更新版本时,须要修改 package.json 中的 version 值,然后再履行 npm publish 即可。

    应用

    在 React Native 目次下,履行:

    1. npm install my-react-library --save 

    安装完成后就会把这个模块保存到 node_modules 文件夹下,因为我们的模块是一个 Android Library 项目,所以在 Native 中还须要设备一下。主如果添加项目依附:

    someone's react-native project/some module/build.gradle

    1. dependencies {     
    2.   compile fileTree(dir: "libs", include: ["*.jar"])     
    3.   compile "com.android.support:appcompat-v7:23.0.1"     
    4.   compile "com.facebook.react:react-native:+"  // From node_modules    
    5.   // 在 dependecies 中参加自定义模块  
    6.   compile project(':my-react-library'

    然后在 settings.gradle 中也要设备一下:

    someone's react-native project/settings.gradle

    MainApplication.java

    1. include ':app'':my-react-library' 
    2. project(':my-react-library').projectDir = new File(rootProject.projectDir, '../node_modules/my-react-library/android'

    在 MainActivity 中将自定义的 Package 添加进去:

    如不雅是 RN 0.29.0 以上版本,则应在 MainApplication 中添加:

    MainActivity.java

    1. ... 
    2. mReactInstanceManager = ReactInstanceManager.builder()                 
    3. .setApplication(getApplication())                 
    4. .setBundleAssetName("index.android.bundle")                 
    5. .setJSMainModuleName(

        推荐阅读

        你家的摄像头安全吗? 央视曝光大量家庭摄像头遭入侵……

      现如今,很多人家里都装有智能摄像头。下载一个相接洽关系的应用法度榜样,可以随时用手机看看家里的情况。比如白叟独安闲家是否安然,保姆带娃是否尽责,有没有进小偷之类的。在QQ搜刮栏>>>详细阅读


      本文标题:如何在React Native中写一个自定义模块

      地址:http://www.17bianji.com/lsqh/35841.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)