开发 React Native 前必须知道的几件事

No. 1 读文档(一定要读)

我之所以把它列在第一位是因为这真的是最节省时间的一条。等你真正读了文档,尤其是"指导"这节,那么我相信你应该会对下面的大部分建议有所了解。但人们更愿意通过实践学习而不是读文档-我之前也是这样做的。我浪费的大把的时间在下面的事情上,而不是读文档。因此我希望这篇文章可以节约你不少的时间。

No. 2 检出并运行 UIExplorer 项目

React Native 文档没有快速演示(由于框架本生原因)或者是 UI 组件和 API 的截图。因此弄清楚每个组件具体的样子和功能有些困难。这就是他们为什么提供了这个非常有用的 UIExplorer Project项目。它真的可以节省你很多猜测和尝试的时间。

NO. 3 选择合适的导航组件

我不得不承认我浪费了大量的时间在把我的代码从NavigatorOSNavigator 之间来回切换 。事实React Native 提供了相当详细的对比 ,当然在我把时间浪费之前我也没读过它。简而言之就是 NavigatorOS 更像原生的组件,但提供了有限的 API 并且 bug 比较多。

No. 4 你的代码不是运行在 nodejs 上的

你的 javascript 运行时要么是 JavaScriptCore (不支持 dubug) 要么是 V8 (可以 dbug)。尽管,你使用 NPM 并且有一个 node 服务 在后台运行,但你的代码并不是真正运行在 nodejs 上的。因此是不可以使用 NodeJs 包的。一个典型的例子就是jsonwebtoken,它用了 NodeJs 的 crypto 模块。

No. 5 推送通知很不靠谱

在 React Native 中推送通知很不靠谱。这项特性是在 0.13 版上是能有效使用的,但你得在你的 Xcode 工程中配置好你的项目(添加库,添加头文件等等)。官方文档相当简要。在 0.12 版或者之前的版本中甚至对后来的 IOS 版本不支持。你需要自己打补丁来实现。这篇文章相当有用。

No. 6 静态图片暂时只支持 PNG 格式

这样的要求是简单易懂的,但想要明白个中缘由,绝非易事。直到最近的[文档](https://facebook.github.io/react-native/docs/image.html)中才提及这点。浪费了我好多时间。

Modal 构件是专门为混合 React Native 框架和 Native 应用而度身定做的。因此,很多 React Native 框架下的构件都不能与Modal兼容使用。PickerIOS无法渲染的问题。

No. 7 读源码

React Native 发展的很快,以至于文档过(包括这篇文章)很快就失去参考价值了。许多的特性(比如键盘事件,EventEmitter以及Subscribable) 都没有写在文档里。因此,为了更清楚如何完成属于自己的构件,你必须事先通过阅读源码来了解 React 是怎样实现的。

No. 8 学习Objective C

迟早你会用到 Objective C 的。对于任何优秀的app,写原生模块和组件都是不可避免的。因此,至少你得能读懂 Objective C 代码。我知道这可能有些吓人,但一旦你习惯了它的语法就好了。

原文链接 : Things I Wish I Were Told About React Native

原文作者 : Ruoyu Sun

译文出自 : 掘金翻译计划

译者 : huanglizhuo

校对者: Void Main aleen42

原文发布于微信公众号 - 星流全栈(MeteorFullStack)

原文发表时间:2016-02-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏跟着阿笨一起玩NET

WEB免费打印控件推荐

要么购买成熟的打印控件,如果是大项目可以考虑,但如果项目只有几K到1、2W之间,这就麻烦了。

2.8K1
来自专栏社区的朋友们

20分钟掌握前端编写 CLI 工具

自古软件设计这个武林有两大流派,其中有一个是” CLI “,另外一个是” GUI “。它们一个为了普渡众生,一个为了提高内力,虽然在 GUI 出现之前,CLI ...

8150
来自专栏大前端开发

5个最优秀的微信小程序UI组件库

开发微信小程序的过程中,选择一款好用的组件库,可以达到事半功倍的效果。自从微信小程序面世以来,不断有一些开源组件库出来,下面5款就是排名比较靠前,用户使用量与关...

1.9K5
来自专栏Youngxj

YoungxjTools全新上线

1464
来自专栏二次元

网页抓包之我的歌单

最近见不少人博客都发了关于网页抓包的教程,然后也激起了我的兴(zhuang)趣(bi),就诞生了这篇文章

962
来自专栏极客猴

分享一个爬取网站的小技巧

有时候,我们很想爬取一个网站的数据。如果 PC 端的网页的反爬机制太强,我们可以换个思路。现在很多网站为了满足手机浏览器能正常访问的需求,都会推出手机版的网页。...

6192
来自专栏机器学习算法与Python学习

极力推荐的Chrome插件!

Momentum能给单调的Chorme首页披上一个漂亮的风景照,毕竟谷歌浏览器的页面打开是这样的。

1300
来自专栏应用案例

小程序优化36计

本文偏技术,可能较枯燥,阅读完大概需要 15分钟 微信小程序转眼上线将近一年了,提供了接近原生App的使用体验,加上一年来不断释放新的能力,获得的关注越来越多。...

7197
来自专栏web编程技术分享

【php增删改查实例】第二十六节 - 个人详情页制作

1847
来自专栏王磊的博客

苹果系统使用之输入法的呈现与设置问题

    新装的系统,总是纠结的出现各种问题。今天解决的就是装了Mac OS X 10.6(苹果系统)之后,输入法找不到,用快捷不能设置的问题。 刚开始...

34910

扫码关注云+社区

领取腾讯云代金券