开始玩 React Native 了

本贴最后更新于 2995 天前,其中的信息可能已经时移世异

React Native - 不会
iOS 开发 - 不会
Android 开发 - 不会

好吧,一切从 0 开始

  1. 首先入门安装环境 getting started
  2. Hello Word
  3. 据说要用 redux, 傻傻分不清楚 redux-router, react-router, react-router-redux。最终还是放弃了,直接去看大神的代码好了
  4. 开始照葫芦画瓢,不错不错,画出了成就感
  5. iOS 一切都还顺利,只是工程是已经建好的,down 下来的时候 shell 脚本需要 +x 一下。都还好,有错误提示,照着弄就好了。用 RN 命令和 Xcode 都非常的顺畅。
  6. 好了,接下来就是 Android 了。react-native run-android 至今都还无法享用。 蓝瘦,香菇 ~~~
  • 各种被强,从百度云盘上下载了 android-sdk-macosx,按照 Readme 弄好后,AS(Android Studio) 终于正常了,立马配置代理。mirrors.neusoft.edu.cn:80

  • 然后开始各种下载,门外汉一下就懵了。完全不知道该选什么,就只能照着 第一条 的入门教程随便选择了下。然后下载就比较慢啦 🐌

  • 最惨的是 Android 报的各种错,无从下手,只能一步一步 google 啦。什么 RN 所依赖的 buildToolsVersion 版本不一致呀;什么 RN 依赖的配置有问题呀;什么 Map 的源码要改一下啦;什么地图无法加载呀;什么需要摇一摇的弹出层需要权限呀;什么需要下载其他依赖呀。。。

  • OK,终于可以 run 啦。手机上跑起来的时候,都激动的想哭了

  • 接下来被告知要嵌入到 APP 里面。不是说好可以发单品的么?哎,又要开始继续折腾了

  • 一开始没看懂 app 集成,搜了其他文章了解了下,终于明白了,开始把需要嵌入到的工程下载下来。然后按步骤实施

  • 实施结束,整个工程居然报错 476 个,然后还可以在手机上跑起来。完全不解, RN 的时候,有半个错都不要想跑起来

  • 跑起来以后要找个按钮,点击了可以跳转到我们的界面。但是但是,这怎么写呢?完全不懂呀,心里好怕怕。出去溜达了一圈,开工。不就是个点击么。大概就是这样了 Intent intent = new Intent(); intent.setClass(HomeActivity.this, MyReactActivity.class); 完全不懂,先照着弄吧

  • 好吧,再次 run,oh,no。 闪退 😱 以前总是听测试说,你的 APP 又闪退了。不明白,为什么这么不耐操,一点点就闪退

  • 来来来, debug 走起。查了问题,据说是要加一下下面这个东西。天哪,完全不知道这是什么一个鬼。然后再次 run 的时候就需要下载 Android SDK,我不是已经下载过好几个了么?哎,我就在等待的时间写了这篇文章,口水话都写好了,你却还没下载完 ~~~

    ndk { abiFilters "armeabi-v7a", "x86" }

等一切结束后,我一定要让 react-native run-android 这个命令可以运行起来

  • 调试
    5 引用 • 35 回帖
  • iOS

    iOS 是由苹果公司开发的移动操作系统,最早于 2007 年 1 月 9 日的 Macworld 大会上公布这个系统,最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch、iPad 以及 Apple TV 等产品上。iOS 与苹果的 Mac OS X 操作系统一样,属于类 Unix 的商业操作系统。

    87 引用 • 139 回帖
  • Android

    Android 是一种以 Linux 为基础的开放源码操作系统,主要使用于便携设备。2005 年由 Google 收购注资,并拉拢多家制造商组成开放手机联盟开发改良,逐渐扩展到到平板电脑及其他领域上。

    335 引用 • 324 回帖 • 1 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • mainlove

    貌似 react 只是视图构建(我怎么感觉和用 gwt 写页面一样),路由什么的还是需要额外的 js
    js 真是搞得太复杂了

    1 回复
  • Vanessa via macOS

    事件,请求什么的都可以在里面写。都是组件化,一小点一小点的

    1 回复
  • someone

    这个行距略小,看起来有点累。

  • Angonger

    带带我

    1 回复
  • 714593351

    带带我 一起学

    1 回复
  • loocao via macOS

    为什么脱离我大 html,用 vue 不好么~

    1 回复
  • Vanessa via macOS

    来,一起呀。你走到哪一步了?

    1 回复
  • Vanessa via macOS

    先跟上我的节奏哦,还在处理 UncaughtException detected: java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libreactnativejni.so 这个错误呢

  • Angonger

    向你提请求这一步

    1 回复
  • Vanessa via macOS

    有啥好的呀?

    1 回复
  • Vanessa via macOS

    不想被浪潮吞没呀

    1 回复
  • Vanessa via macOS

    好的。先把第一二步完成了再来见我

  • Eddie

    感觉前端框架太多,不如专心专研一个适合自己工作的。

    1 回复
  • Vanessa via macOS

    嗯。不会写 APP,就靠他了

    1 回复
  • loocao via macOS

    我只知道它好,别问我有啥好~

    1 回复
  • Eddie

    我是不是要期待一下黑客派的 APP?

    1 回复
  • Vanessa via macOS

    Symphony 用了最基本的 jQuery,别问我 jQuery 有啥好 😄

    本来早就想看什么 react,vue 之类的,angular 都还不太熟悉。只是碍于没有动力和没有项目可以去实践。。。。

  • Vanessa via macOS

    要不一起来吧

  • Vanessa via macOS

    @participants 节奏跟上没?准备开始进军热部署了

    couldn't find DSO to load: libreactnativejni.so 这个问题纠缠了 2 晚上,终于搞定了。

    吐槽一下破解过程吧:

    1. 先把原生 APP 项目 check 下来,按照步骤一步一步来。然后就 google 报错问题,说是 32 位和 64 位的问题,一顿乱修,还是错。回家睡觉

    2. 第二天新建了一个原生 APP 项目。好顺利,居然嵌入成功了。

    3. 无解了,找到 Android 开发小伙伴,他也一步一步来,居然成功了,还是只能怀疑自己

    4. 回家后把第一步修改过的 APP 项目代码 revert 了,重头来,还是不行

    5. 把 build.gradle 删了,把第二部的 copy 过来,修修改改,居然成功了

    6. diff 对比 build.gradle,这是个什么鬼,谁出来解释一下,看不懂呀?

      splits { abi { enable true reset() include "armeabi" universalApk false } }

    归根到底,还是自己太小白,啥都不懂,耽误了这么多时间 ~~~

  • Vanessa via macOS

    @participants 大家有没有收到 at 呀?

  • 88250

    @participants 测试一下参与者通知(其他地方重现不了,这有这个帖子可以好奇怪)..

  • wuhongxu

    V 大的 react 玩得怎么样了?我被搞得头疼脑大的了,前段时间忙另一个项目,现在又重新用 react,但是感觉里面有些细节想找人探讨 = =

    1 回复
  • Vanessa via macOS

    可以继承到其他 app 里面了。最近忙,进度有点慢了。

  • someone

    splits 是用于对不同的分辨率或者不同的处理器架构构建不同的apk文件
    include "armeabi"只包含了armeabi架构。所以想问下你的手机或者虚拟机是x86架构吗?

    1 回复
  • Vanessa via macOS

    应该不是,可能是第三方的 RN 依赖有用到。具体优化都没弄

请输入回帖内容 ...
Vanessa
我们终此一生,就是要摆脱他人的期待,找到真正的自己。 昆明

推荐标签 标签

  • Swagger

    Swagger 是一款非常流行的 API 开发工具,它遵循 OpenAPI Specification(这是一种通用的、和编程语言无关的 API 描述规范)。Swagger 贯穿整个 API 生命周期,如 API 的设计、编写文档、测试和部署。

    26 引用 • 35 回帖 • 2 关注
  • App

    App(应用程序,Application 的缩写)一般指手机软件。

    91 引用 • 384 回帖
  • sts
    2 引用 • 2 回帖 • 225 关注
  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    693 引用 • 537 回帖
  • 宕机

    宕机,多指一些网站、游戏、网络应用等服务器一种区别于正常运行的状态,也叫“Down 机”、“当机”或“死机”。宕机状态不仅仅是指服务器“挂掉了”、“死机了”状态,也包括服务器假死、停用、关闭等一些原因而导致出现的不能够正常运行的状态。

    13 引用 • 82 回帖 • 78 关注
  • Rust

    Rust 是一门赋予每个人构建可靠且高效软件能力的语言。Rust 由 Mozilla 开发,最早发布于 2014 年 9 月。

    58 引用 • 22 回帖 • 1 关注
  • 正则表达式

    正则表达式(Regular Expression)使用单个字符串来描述、匹配一系列遵循某个句法规则的字符串。

    31 引用 • 94 回帖
  • Swift

    Swift 是苹果于 2014 年 WWDC(苹果开发者大会)发布的开发语言,可与 Objective-C 共同运行于 Mac OS 和 iOS 平台,用于搭建基于苹果平台的应用程序。

    36 引用 • 37 回帖 • 545 关注
  • 爬虫

    网络爬虫(Spider、Crawler),是一种按照一定的规则,自动地抓取万维网信息的程序。

    106 引用 • 275 回帖
  • 996
    13 引用 • 200 回帖 • 2 关注
  • Markdown

    Markdown 是一种轻量级标记语言,用户可使用纯文本编辑器来排版文档,最终通过 Markdown 引擎将文档转换为所需格式(比如 HTML、PDF 等)。

    169 引用 • 1527 回帖
  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    946 引用 • 1460 回帖
  • 创造

    你创造的作品可能会帮助到很多人,如果是开源项目的话就更赞了!

    183 引用 • 1010 回帖
  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    409 引用 • 3587 回帖
  • CAP

    CAP 指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。

    12 引用 • 5 回帖 • 633 关注
  • 小说

    小说是以刻画人物形象为中心,通过完整的故事情节和环境描写来反映社会生活的文学体裁。

    31 引用 • 108 回帖
  • Mac

    Mac 是苹果公司自 1984 年起以“Macintosh”开始开发的个人消费型计算机,如:iMac、Mac mini、Macbook Air、Macbook Pro、Macbook、Mac Pro 等计算机。

    167 引用 • 595 回帖
  • SOHO

    为成为自由职业者在家办公而努力吧!

    7 引用 • 55 回帖 • 4 关注
  • 持续集成

    持续集成(Continuous Integration)是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。

    15 引用 • 7 回帖
  • wolai

    我来 wolai:不仅仅是未来的云端笔记!

    2 引用 • 14 回帖
  • Logseq

    Logseq 是一个隐私优先、开源的知识库工具。

    Logseq is a joyful, open-source outliner that works on top of local plain-text Markdown and Org-mode files. Use it to write, organize and share your thoughts, keep your to-do list, and build your own digital garden.

    7 引用 • 69 回帖
  • 数据库

    据说 99% 的性能瓶颈都在数据库。

    345 引用 • 739 回帖 • 1 关注
  • OpenResty

    OpenResty 是一个基于 NGINX 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

    17 引用 • 56 关注
  • 程序员

    程序员是从事程序开发、程序维护的专业人员。

    586 引用 • 3538 回帖
  • WebClipper

    Web Clipper 是一款浏览器剪藏扩展,它可以帮助你把网页内容剪藏到本地。

    3 引用 • 9 回帖 • 6 关注
  • Postman

    Postman 是一款简单好用的 HTTP API 调试工具。

    4 引用 • 3 回帖 • 1 关注
  • CSDN

    CSDN (Chinese Software Developer Network) 创立于 1999 年,是中国的 IT 社区和服务平台,为中国的软件开发者和 IT 从业者提供知识传播、职业发展、软件开发等全生命周期服务,满足他们在职业发展中学习及共享知识和信息、建立职业发展社交圈、通过软件开发实现技术商业化等刚性需求。

    14 引用 • 155 回帖