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

相关推荐
沐言人生2 天前
ReactNative 源码分析11——Native View创建流程setChildren和manageChildren
android·react native
沐言人生3 天前
ReactNative 源码分析10——Native View创建流程createView
android·react native
坏小虎3 天前
【聊天列表组件选型建议】FlashList、FlatList、LegendList三种列表组件
javascript·react native·react.js
sealaugh324 天前
react native(学习笔记第五课) 英语打卡微应用(4)- frontend的列表展示
笔记·学习·react native
沐言人生5 天前
ReactNative 源码分析9——Native View初始化
android·react native
接着奏乐接着舞5 天前
react native expo打包
javascript·react native·react.js
jxm_csdn6 天前
Expo Go 本地命令行编译 apk(Ubutnu22.04)
react native
红尘散仙6 天前
一套 Rust 核心,跑通 Tauri + React Native
react native·react.js·rust
诚实可靠王大锤7 天前
React Native 输入框与按钮焦点冲突解决方案(rn版本0.70.3)
前端·javascript·react native·react.js
sealaugh3211 天前
react native(学习笔记第四课) 英语打卡微应用(3)-ocr的文字转化成语音文件(tts)
笔记·学习·react native