RN项目开发问题记录

最近着手迭代了某项目的2期需求,遇到了写问题,在这里做下记录。

1、SRNPage 只支持真正的布尔值,一些类布尔值,如:1、 “aa”等不支持,需用!!强制转换成布尔值。

2、安卓手机中加载完列表再重新加载的过程中,如果不先清空数据,会导致每次加载后,渲染出来的数据产生文字重叠现象。

3、安卓手机扫码后要reload才能执行index.andriod.js。

4、遇到too many files watch问题的解决办法:

1
2
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install watchman

watchman是一个能提高开发性能的工具

以下是React-Native特点。

1、内置FlatList组件,可以根据当前屏幕位置渲染列表,性能很好。

2、ios和安卓9.0版本以上都不支持引入http图片,要引用http的图片,需配置一些参数:

https://segmentfault.com/a/1190000002933776

3、在rn中定义了xx.ios.js和xx.andriod.js,然后require(‘xx’),rn会根据当前的设备类型区分该调用那个文件。

4、加载图片时,如果不是本地图片,是网络图片,必须设置图片尺寸,如果是本地图片,可以用require包裹,但是require中不能包含变量,因为其是在编译时执行而不是在运行时

1
2
//实际输出结果
{"__packager_asset":true,"uri":"my-icon.png","width":591,"height":573}

5、圆角问题

目前ios上不支持

  • borderTopLeftRadius
  • borderTopRightRadius
  • borderBottomLeftRadius
  • borderBottomRightRadius

6、清除计时器,在组件卸载时清楚计时器。

7、__DEV__一个rn内置全局变量,代表是否是开发环境

8、setNativeProps在页面不得不频繁刷新又遇到性能瓶颈的时候才可以用。