rn项目问题记录
rn端 问题记录
·
xx0, rn api坑点记录
1. 对于获取屏幕高度Dimensions.get('window').height; 在安卓8上是屏幕的高度,在更高版本上是安全区域得高度,即不包含状态栏和下方按键区域
xx1, 问题一描述
安卓端,在页面里使用react-native-amap3d地图,正常显示,但是在返回时会闪退,包括导航返回和按键返回。
解决方案
application 加上android:allowNativeHeapPointerTagging=“false”

xx2, 问题二描述
TextInput 输入框隐藏密码secureTextEntry在安卓上不生效
解决方案
设置keyboardType=‘default’ 即可
xx3, 问题三描述
Rn端和原生android、原生ios进行通信
(1)和android通信
// 引入NativeModules模块
import {NativeModules,DeviceEventEmitter} from 'react-native';
// 监听安卓触发js事件 实现
DeviceEventEmitter.addListener('refreshOrderTabNumber', (msg) => {
// 回调里可获取传来的参数。msg
});
// rn触发原生安卓事件
NativeModules.CD_AndroidToReactModule.unRegisterOrderTabReceiver()
// 注: CD_AndroidToReactModule 为安卓里和rn通信类文件里的模块名称

参考链接
(2)和ios通信
import {NativeModules, NativeEventEmitter} from 'react-native';
// 注: NativeAndRNEventBrige 为ios 中的模块名
const NativeModulesByIOS = NativeModules.NativeAndRNEventBrige;
const NativeNotificationMoudule = new NativeEventEmitter(NativeModulesByIOS);
//监听 ios触发rn 方法
const subscription = NativeNotificationMoudule.addListener(
'CustomEventName',
() => {
// 需要处理的逻辑;
},
);
// rn 触发 ios方法
NativeModules.NativeAndRNEventBrige.RNPushToLoginOut(String(infor.id));
参考链接:
React Native模块加载与原理分析
rn和原生通信
xx4 问题描述
ios友盟推送证书更换
步骤:
1,找到应用id

2,找到推送设置

3,点击创建按钮

4,上传csr文件
5,创建完之后点击下载
6,下载完以后双击证书 安装。在钥匙串找到这个证书 并生成p12文件,上传到友盟即可
xx5 问题描述
KeyboardAvoidingView的使用注意
1, KeyboardAvoidingView的父元素最好是满屏大小,内部的跟元素也是满屏大小。
2,内部只包含一个输入框是很友好的 有多个的话,就不好用了
xx6 Text文本末尾被截断
部分机型text文本末尾被截断了。显示不全,原因是设置了fontWeight 的原因。可以设置fontFamily: ‘System’, 也可以在文本后面加一个空格
更多推荐



所有评论(0)