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

相关推荐
Swift社区19 小时前
RN 项目中“页面存在 ≠ 页面可见”会导致哪些隐藏 Bug?
react native·bug·react
赵财猫._.2 天前
React Native鸿蒙开发实战(十):鸿蒙NEXT深度适配与未来展望
react native·react.js·harmonyos
2401_860319522 天前
在React Native鸿蒙跨平台开发采用分类网格布局,通过paramRow和paramLabel/paramValue的组合展示关键配置信息
react native·react.js·harmonyos
2301_796512522 天前
使用如Redux、MobX或React Context等状态管理库来管理状态,React Native鸿蒙跨平台开发来实战
react native·react.js·harmonyos
洞窝技术2 天前
自建 React Native 热修复,让线上事故 30 秒“归零”
react native
2401_860494702 天前
在React Native中实现鸿蒙跨平台开发中开发一个运动类型管理系统,使用React Navigation设置应用的导航结构,创建一个堆栈导航器
react native·react.js·harmonyos
2301_796512522 天前
使用状态管理、持久化存储或者利用现有的库来辅助React Native鸿蒙跨平台开发开发一个允许用户撤销删除的操作
javascript·react native·react.js
2301_796512522 天前
React Native鸿蒙跨平台开发包含输入收入金额、选择收入类别、记录备注和日期等功能,实战react-native-paper组件
javascript·react native·react.js
2401_860319522 天前
react-native-calendarsReact Native库来帮助你处理日期和时间,实现鸿蒙跨平台开发日历组件
react native·react.js·harmonyos
赵财猫._.2 天前
React Native鸿蒙开发实战(九):复杂业务场景实战与架构设计
react native·react.js·harmonyos