react-native-adaptive-utils
Version:
React-Native adaptive utils, contains various adaptation function.
233 lines (149 loc) • 3.46 kB
Markdown
[English](./README.md) | 简体中文
# react-native-adaptive-utils
# 安装
```shell
npm install react-native-adaptive-utils
```
# 引入
```javascript
import { YourNeed } from "react-native-adaptive-utils";
```
#### 示例
如,引入防抖函数
```javascript
import { debounce } from "react-native-adaptive-utils";
```
# API
## 1 优化工具类
### 1.1 debounce
防抖函数,给定时间内(默认 `500ms` ),多次触发执行最后一次
#### 示例
```javascript
debounce(() => {
console.log(1);
}, 500);
```
上述表示 `500ms` 中,若多次触发,执行最后一次
### 1.2 throttle
节流函数,给定时间内(默认 `500ms` ),多次触发,第一次执行,后续不执行。
#### 示例
```javascript
throttle(() => {
console.log(1);
}, 500);
```
上述第一次触发时执行,`500ms` 中,后续触发不执行。
### 1.3 randomString
生成指定长度(默认 `32` 位)的随机字符串。
#### 示例
```javascript
let randomStr = randomString(16);
```
上述生成 `16` 位长度的随机数。
### 1.4 integerDecimalsFormat
整数小数千分位显示
#### 示例
```javascript
let thousandsNum = integerDecimalsFormat(-456123131.12301);
```
上述 num 以 `-456,123,131.12301`千分位格式显示
### 1.5 computeSomeCharsCount
统计字符串中指定字符或串出现的次数
#### 示例
```javascript
let count = computeSomeCharsCount("ad", "adsfdasf");
```
上述 count 为`ad`在`adsfdasf`中出现的次数
### 1.6 allSettled
在 rn 中的封装 promise.all() 模拟 promise.allSettled()
#### 示例
```javascript
allSettled(['promiseA','promiseB',...])
```
返回一个数组,包含所有 promise 的成功或者失败返回值
## 2 校验工具
### 2.1 validPhone
手机号校验
#### 示例
```javascript
let checkPhoneFlag = validPhone(12);
```
### 2.2 validEmail
邮箱校验
#### 示例
```javascript
let checkEmailFlag = validEmail(12);
```
### 2.3 validCardNo
身份证校验
#### 示例
```javascript
let checkCardNoFlag = validCardNo(12);
```
### 2.4 strLimit
字符长度限制校验
#### 示例
```javascript
let text = limitStr(str, length);
```
### 2.5 isImg
图片类型校验
#### 示例
```javascript
let isPicture = isImg(target);
```
## 3 分辨率
### 3.1 dynamicFontSize
根据屏幕宽度,动态获取字体大小
#### 示例
```javascript
let fontSize = dynamicFontSize(12);
```
建议直接在 `CSS` 样式中使用:
```javascript
const styles = StyleSheet.create({
container: {
fontSize: dynamicFontSize(12)
}
});
```
### 3.2 isIphoneX
判断是否是 iphonex
#### 示例
```javascript
isIphoneX() ? "..." : "...";
```
```javascript
const styles = StyleSheet.create({
container: {
height: isIphoneX() ? 15 : 20;
}
});
### 3.3 getTitleBarHeight
获取基于当前屏幕的标题栏高度
#### 示例
```
```javascript
let height = getTitleBarHeight();
```
```javascript
const styles = StyleSheet.create({
container: {
height: getTitleBarHeight();
}
});
```
# 待办
- [x] 判断图片类型
- [x] 文本框输入字符上限判断
- [x] 生成随机数
- [ ] 整数、小数金额千分位显示
- [ ] 统计字符串中的指定字符或串的出现次数
- [ ] 百分比
- [ ] 金额带货币符号
- [ ] 信息脱敏
- [ ] 对象数组按指定字段排序
- [ ] `Title` 中文字距离底部的高度
# 待评审确定
- [ ] 网络请求
- [ ] allSettled