react-native/react 开发中遇到的问题

前言

  • 最近对react-native产生些兴趣,准备学一学,写写demo练练手,然而之前对react页不是很熟悉,所以一边学一边写code,一边看react-native的文档一边撘环境。中途还是遇到很多问题,写篇文章mark下。

react-native搭建开发环境时遇到的问题

  • 搭建Android开发环境:
  1. java版本不能装9.0+的,路径格式不同,Android-studio无法识别路径。
  2. Android SDK 要装25.0+的,不然会提示版本过低无法继续,然而教程(甚至是fb官网上)还是写的装23.0
  3. 模拟器,先在Android-studio打开Android模拟器之后,再在命令行执行react-native run-android命令
  4. 执行react-native run-*命令时,启动的packager server需要使用8081端口,确保这个端口没有占用!

RN中写样式

  • 本来平时我css就写得少,RN中这种变种的css写起来更蛋疼。。。。React-Native 样式指南
  • RN中的样式相当于css的缩减版,命名方式要用驼峰法,然后大部分属性都能和css中对应。布局:也有相对定位和绝对定位,也支持flex。官方推荐flex,可以解决大多数的布局情况。
  • 建议使用StyleSheet.create()生成样式的类名,也可以直接在组件上写"内联"样式。
  • RN中元素的宽高是没有单位的,直接用数字表示即可,也可以用flex来实现弹性宽高。
  • 另外就是要注意,不同的组件可以设置的样式是不同的,比如遇到无法设置宽高的组件就只能在它外层包个view,然后设置这个view的宽高。

RN中调试

  • 打开调试菜单:iOS模拟器中:Command⌘ + D 快捷键;Android模拟器对应的则是Command⌘ + M
  • Enable Live Reload:开启自动刷新
  • Enable Hot Reload:开启热加载
  • 访问控制台日志:在终端中运行:react-native log-ios或者log-android
  • 在开发者菜单中选择"Debug JS Remotely"选项,即可以开始在Chrome中调试JavaScript代码。点击这个选项的同时会自动打开调试页面 http://localhost:8081/debugger-ui.
  • 注:Chrome中并不能直接看到App的用户界面,而只能提供console的输出,以及在sources项中断点调试js脚本。

RN中的网络通信

  • 文档上介绍的是使用fetch,我也专门去了解了一下下,算是ajax的进化版,结合了一些html5的新特性。RN中也支持websocket。
  • 默认情况下,iOS会阻止所有非https的请求。如果你请求的接口是http协议,那么首先需要添加一个App Transport Security的例外,详细可参考这篇帖子

RN中的数据存储

  • 在浏览器环境,我们可以使用cookie、localstorage或者sessionstorage来实现数据缓存,在RN中则不能使用以上的三种方式。
  • AsyncStorage是一个简单的、异步的、持久化的Key-Value存储系统,它对于App来说是全局性的。它用来代替LocalStorage。但是需要注意的时,RN这里的读写缓存操作全都是异步的和在浏览器中操作缓存有区别,然后我们使用时最好也是自己封装一层DeviceStorage
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,418评论 25 707
  • SQL执行流程 索引快速定位记录的一种数据结构B+Tree索引等值、范围检索Hash索引等值检索空间索引(R-Tr...
    wi11iam阅读 583评论 0 1
  • 感赏明天上午排上了手术,医生说每天的手术都排的满满的。堂弟也医学院毕业后也被安排在外科。他说不喜欢整天浸泡在消毒水...
    旦子阅读 340评论 2 2
  • 生病一个月 最初一个星期是在医院病床上度过的 其实没有什么大碍 精神倍儿棒吃嘛嘛香 有时间还把小桌子搬到床上把心爱...
    信得Janice阅读 444评论 0 1
  • 遇到以下问题,直接终端敲命令进入项目目录 1.项目目录不可写! 或者 2.文件夹不可写入!
    天空总是很晴朗阅读 131评论 0 0