RN踩坑之旅

首先搭建环境就是很坑的感觉,所以必须记录下,以勉!!!

1.rn 0.56版本bug导致启动安卓项目大红屏 一直报错:server response code 500什么什么的 Unable to resolve module AccessibilityInfo from XXX,解决方案降级为0.55后ok, 参考链接: https://blog.csdn.net/j550341130/article/details/81027700

2.所有js文件,都是从上到下执行,先声明要使用的变量或class,再使用,顺序不能变。如遇到外部的必须要先声明的import

3.=>箭头函数如果不写{} 则默认有return

4.const{a} = this.props ES6解构语法,当复制的变量名称和读取的属性名称一致时则可以使用这种语法, 等同于:const a = this.props.a

5.获取开发版SHA1值和发布版SHA1值的史上最详细方法: 1.输入命令 C: 进入c盘; 2.接着 输入命令 cd Users\Administrator 其中Administrator是自己的用户名 Administrator文件下有个.adnroid文件, 输入命令 cd .android,最后就找到了.android 3.keytool -list -v -keystore debug.keystore 发布版:前面的keystore换成自己的就好了:输入命令 keytool -list -v -keystore 文件目录\自己的签名文件 比如我的:keytool -list -v -keystore E:\签名文件\android.keystore ,接着按回车,然后输入秘钥:(我只知道我的,哈哈) 回车(秘钥库口令是看不到的。

6.yy天气API接口可以直接拉取天气信息

7.getCurrentPosition方法和fetch方法都是异步的,用于赋值只能用this.setState()方法或者直接方法内部使用取到的值,外部是取不到值的,

8.this.state不要写错 this.State,不然setState(),不会渲染、

9.真机调试闪退,一般情况下,都是链接不上js服务器,摇一摇手机,Dev settings修改IP端口号,则ok;

10.rn中{}里面传递的是对象,如果传递一个函数例如myClick(),写为:{this.myClick}正确,{this.myClick()} 错误,这样是把函数执行后的结果传递进去

11.使用react-native-action-button组件的时候需要注意,<ActionButton></ActionButton>在js代码中必须写在其所属的父组件的最后面,不然该按钮无法显示出来,(是否是因为渲染先后的原因,不得而知)

12.RN 中安卓不能直接使用动态gif图片,ios可以直接使用,android则需要在app下build.gradle中加入两行代码:

	compile 'com.facebook.fresco:animated-gif:1.3.0'
	compile 'com.facebook.fresco:animated-base-support:1.3.0'

13.在国内不要直接调用自带的Geolocation.getCurrentLocation(),因为这是去调用谷歌地图API获取经纬度,国内是一般是拿不到的,所以建议使用国内的定位组件:ReactNative-BaiduMap

转载于:https://my.oschina.net/huayangchen/blog/1919732

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值