好久没写博客了,特地把之前接触React Native时遇到的坑总结一下。

  初始化一个React Native项目时,可能会遇到以下这些坑:

  1、项目版本号与安卓模拟器中安装的 compileSdkVersion 和 buildToolsVersion 版本不一致,这时候可以直接修改 项目 => android => app => build.gradle文件下的版本号,如下:

  

  

  2、初始化一个项目并运行项目时,可能会一直报错,这时有可能是因为缺少 local.properties文件,该文件用于指定 SDK的路径(该文件存放在项目目录下 => android 下)

  文件内容如下:

   sdk.dir=C\:\\Users\\android\\AppData\\Local\\Android\\sdk (这是我的sdk安装路径)

  3、可能会出现React Native与javascript版本号不一致,这时候可以新建一个与javascript版本号一致的React Native项目,命令如下: 

react-native init 项目名 --version 具体的版本号

  

  4、有时候运行会出错,报错类似"Cannot add a child that doesn't have a YogaNode or parent node" 这种,有可能是因为render方法中含有注释语句,这时候删除注释语句,可能就会正常运行了。

  

  5、文本放在Text标签中,不要直接放在View标签中(View是一个容器,用来包含其他的标签的),否则模拟器可能会直接崩了(亲测,android studio和genymotion下都崩了,当然也可能是我的版本的原因)

  6、当我们执行点击事件,如onPress时,希望在点击后显示高亮状态,这时候就可以使用TouchableHighlight组件了,但是,注意:该组件只能包含一个子节点,否则会出错,如果希望它包含多个节点,那么可以在它里面嵌套一个View(默认情况下TouchableHighlight组件在点击时会出现一个黑背景,且标签大小可能会有所改变,要解决该问题,可以使用属性underlayColor,将其值设为白色(‘#fff’))

  7、在使用导航组件react-navigation时,使用yarn来安装(yarn add react-navigation),用npm安装的话可能会存在许多未知错误(更不要使用cnpm)

关于React Native的那些坑的更多相关文章

  1. react native遇到的坑

    1.模拟器报错no bundle url present https://github.com/facebook/react-native/issues/12754 http://www.cnblog ...

  2. 初识React Native,踩坑之旅....

    开启Genymotion Android模拟器后 1.运行“react-native run-android”报端口冲突....解决方法: 2.运行“react-native run-android” ...

  3. react native 遇到的坑

    1.项目中新加入组件,应执行npm install命令 2.项目执行react-native run-android 报错,应进入android目录,执行gradlew.bat clean命令 3.L ...

  4. 记录VSCode开发React Native的一些坑

    当我们点Debug Android时,会弹出以下错误 Could not debug. Unable to set up communication with VSCode react-native ...

  5. React Native初探

    前言 很久之前就想研究React Native了,但是一直没有落地的机会,我一直认为一个技术要有落地的场景才有研究的意义,刚好最近迎来了新的APP,在可控的范围内,我们可以在上面做任何想做的事情. P ...

  6. React Native指南汇集了各类react-native学习资源、开源App和组件

    来自:https://github.com/ele828/react-native-guide React Native指南汇集了各类react-native学习资源.开源App和组件 React-N ...

  7. 给所有开发者的React Native详细入门指南

    建议先下载好资料后,再阅读本文.demo代码和资料下载 目录 一.前言 二.回答一些问题 1.为什么写此教程 2.本文适合哪些人看 3.如何使用本教程 4.需要先学习JavaScript.HTML.C ...

  8. 为什么学习React Native三点原因

    React Native不到两岁,兼容Android平台刚刚1年.我学习React Native其实也就不到1年,不算长,也不算短. Paul Graham在文章中写过:大多数人真正注意到你的时候,不 ...

  9. React Native拆包及热更新方案 · Solartisan

    作者:solart 版权声明:本文图文为博主原创,转载请注明出处. 随着 React Native 的不断发展完善,越来越多的公司选择使用 React Native 替代 iOS/Android 进行 ...

随机推荐

  1. 使用Linux 安装MySQL

    文章  link 在安装mysql数据库服务器前,确保你的linux系统是可以连接网络的,下面我们将通过源码方式来安装mysql首先通过putty登入进你的Linux系统,确保系统中已经安装的gcc ...

  2. u3d之世界坐标系,屏幕坐标系,视口坐标系,如何获取物体距离摄像机的距离

    世界坐标系就是unity的左手坐标系 屏幕坐标系是Game视图相机拍摄的场景坐标系,左下角(0,0),右上角(Screen.width,Screen.height),单位是像素.Z的位置是以相机的世界 ...

  3. datatable使用笔记

    这是一个使用datatable的jsp文件实例,实现了点击单元格后编辑单元格所在行的内容. <%@ page pageEncoding="UTF-8"%> <!D ...

  4. IE下判断IE版本的语句...[if lte IE 8]……[endif]

    <!--[if lte IE 6]> <![endif]--> IE6及其以下版本可见   <!--[if lte IE 7]> <![endif]--> ...

  5. SqlServer Lock_Escalation

    在今天的文章里,我想谈下SQL Server里锁升级(Lock Escalations).锁升级是SQL Server使用的优化技术,用来控制在SQL Server锁管理里把持锁的数量.我们首先用SQ ...

  6. MySQL ALTER TABLE: ALTER vs CHANGE vs MODIFY COLUMN

    ALTER COLUMN 语法: ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT} 作用: 设置或删除列的默认值.该操作会直接修 ...

  7. SpringMVC提交数据遭遇基础类型和日期类型报400错误解决方法

    使用SpringMVC开发的时候,页面如果有日期格式的数据,后台接受也是java.util.Date,则报告400错误 .下面是解决方案的演示示例: 这个是实体类,里面createDate就是java ...

  8. SpringMVC 如何在页面中获取到ModelAndView绑定的值

    springMVC中通过ModelAndView进行后台与页面的数据交互,那么如何在页面中获取ModelAndView绑定的值呢? 1.在JSP中通过EL表达式进行获取(比较常用) 后台:ModelA ...

  9. TensorFlow实现knn(k近邻)算法

    首先先介绍一下knn的基本原理: KNN是通过计算不同特征值之间的距离进行分类. 整体的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于 ...

  10. MySQL使用存储过程代替子查询

    摘要: 出处:黑洞中的奇点 的博客 http://www.cnblogs.com/kelvin19840813/ 您的支持是对博主最大的鼓励,感谢您的认真阅读.本文版权归作者所有,欢迎转载,但请保留该 ...