React Native常用的API

alert/console:开发周期的调试工具

1,

2,

Alert.alert()与我们讲的alert不一样

3,

4,

warn 与error会在底部弹出提示,debug包有,

4,


5,

只在浏览器中有效果

6,

查看内存中组件树

7,

只在浏览器中有效果,打印如下

8,

group必须和groupEnd连用

组中组日志

Dimension与useWindowDimension

1,

点击按钮获得

直接获得

2,

scale就是屏幕密度,一个逻辑像素对应的物理像素。

fontScale:跟系统设置有关

hook方式同理

3,

widow默认不包含状态栏(沉浸式除外),screen包含状态栏。沉浸式的时候二者的值相等。

4,

切记,React Native中,有注册就要有取消注册

这个监听现在用的很少了。

Platform 获取平台属性

1,

OS:跨的是哪个平台,android ios等。

version:版本号,用处:比如Android某个某版本不支持某个属性,就可以用这个设置

constants:

deviceID的时候可能会用到。

2,

isPad只针对IOS,判断是pad还是手机

isTv两端都可以调用,判断是否是TV。

3,

选择不同的平台赋予不同的属性。

用法一

用法二

StyleSheet构建灵活样式表

1,

compose的渲染效率比写两个style数组效率更高

style 属性值不变的时候,compose不会重新绘制,而style数组会重新绘制。

2,

两个属性数组合并,如果属性相同,后面的覆盖前面的。

3,

铺满全屏的覆盖到上面的布局

4,

表示一个物理像素,相当于1÷逻辑像素

Linking 一个API节省50行代码

1,

两个大多情况下一起使用

打开网页链接

打开地图,维度+经度

拨打电话,会把电话号码带入拨号页面,但是不会拨打出去

发送短信

发送邮件

跳转界面,可以是本应用的界面,也可以是其它应用的界面。没有固定的shceme,shceme是由要跳转的应用定的。

在文件清单中为Activity设置属性

不带参数调用

带参数的调用

Activity中取出传的name值

2,

3,

这个API只能在Android中使用。

在安卓中配置action

react native中调用

Android的Activity中获取传递的参数

4,

工程如果是通过URL方式打开,就可以获取到URL

PixelRatio:像素比例工具

1,

逻辑像素与物理像素比

两者类似

2,

获取字体的比例,跟手机的设置有关

3,

逻辑像素对应的真实的物理像素

4,

有的时候,物理像素会空出一个像素,因为四舍五入的原因,解决办法

子View高度设置为32.1,我们会发现,会漏出1像素的红色背景。解决办法如下

BackHandler安卓返回键的适配

1,仅针对安卓,因为只有安卓有物理返回键。

2,

安卓手机,一直按返回键,会一直返回上一个界面,最后app退出,但我现在想随便点击一个按钮,直接退出app。就在按钮的点击事件中调用这个方法

3,

这个库需要手动安装,安装后导入

一行代码拦截Android返回键,不需要在useEffect里面注册在移除注册那么麻烦。

PermissionsAndroid 轻松解决安卓权限问题

1,检查权限,权限是否申请过

需要用到Promise

2,

点击Allow打印输出granted,点击Don't allow会打印输出denied。

3

4,一组一组的权限申请

Vibration简单好用的震动交互

1,

默认400毫秒的震动。AndroidIOS都是

Android可以设置震动时间,IOS不能,如果IOS想一直震动,只能一直执行该方法。

取消震动


安卓手机点击开始震动后,先停止100毫秒,在震动500毫秒,依次类推。


IOS手机则是,停100毫秒,在震动默认的400毫秒,在停200毫秒,依次类推


true表示循环,如果想要停止震动,调用cancle();

ToastAndroid 安卓平台的提示

只在安卓中使用

后者可以指定Toast弹出的位置,因为Android原生推荐snackBar,现在已经无法指定Toast的弹出位置了。


transform:矩阵变换的伪3D效果

1,


Keyboard 键盘操作有神器

用于监听操作键盘

1,

可以监听的事件如上,常用的是keyboardDidHide和keyboardDidShow

相关推荐
lbb 小魔仙3 天前
鸿蒙跨平台项目实战篇03:React Native Bundle增量更新详解
react native·react.js·harmonyos
2301_796512523 天前
【精通篇】打造React Native鸿蒙跨平台开发高级复合组件库开发系列:点击组件(跳转快应用)
javascript·react native·react.js·ecmascript·harmonyos
2301_796512523 天前
【精通篇】打造React Native鸿蒙跨平台开发高级复合组件库开发系列:Sidebar 侧边导航(绑定当前选中项的索引)
javascript·react native·react.js·ecmascript·harmonyos
lbb 小魔仙3 天前
鸿蒙跨平台项目实战篇01:React Native Bundle版本管理详解
react native·react.js·harmonyos
2301_796512523 天前
【精通篇】打造React Native鸿蒙跨平台开发高级复合组件库开发系列:Pagination 分页(绑定当前页码)
javascript·react native·react.js·ecmascript·harmonyos
星空22233 天前
鸿蒙跨平台实战:React Native 在 OpenHarmony 上的 PixelFormat 图片格式处理
react native·华为·harmonyos
getyefang3 天前
react-native使用字体库如何在安卓显示
javascript·react native·react.js
星空22234 天前
鸿蒙跨平台实战day47:React Native在OpenHarmony上的Font自定义字体注册详解
react native·华为·harmonyos
Cxiaomu4 天前
React Native项目(Android )集成虹软 ArcFace(人脸识别增值版 5.0 Java)
android·java·react native