react-native学习
1,调用原生模块 方法名 NativeModules
类似于这种,抛出安卓方法名,想要使用该文件的方法,比如pay()方法,做法。
var WXPAT = NativeModules.Wxpay;
WXPAY.pay();
即可使用。或者 在A文件中
import { NativeModules } from 'react-native';
export default NativeModules.Alipay;
在B文件中 引入即可
import Alipay from './android/app/Alipay';
PS 类似于方法还需要在另外一个同目录文件注册
package com.mobilepayment.alipay;//这里testurl是我`java/com/`下的文件名
import com.facebook.react.ReactPackage;
import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.uimanager.ViewManager;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class AlipayPackage implements ReactPackage {
@Override
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
return Collections.emptyList();
}
@Override
public List<NativeModule> createNativeModules(
ReactApplicationContext reactContext) {
List<NativeModule> modules = new ArrayList<>();
modules.add(new AlipayModule(reactContext));
return modules;
}
}
例 A李payModule.java是方法文件,AlipayPackage.java是注册文件
2, react Native环境搭建
参考文档 https://blog.****.net/zeping891103/article/details/85769957
3,react-navigation 基础tab不重绘问题
1:解决办法,在传值页面
注意:ChangeUI为命名
DeviceEventEmitter.emit('ChangeUI', 需要传的东西);
:2:在接收页面
DeviceEventEmitter.addListener('ChangeUI',(dic)=>{
//接收到详情页发送的通知,刷新首页的数据,改变按钮颜色和文字,刷新UI
// this.setState(Object.assign({}, this.state, {
// stockCode: dic.stockCode
// }));
this.setState({
stockCode:dic.stockCode,
// coedList:dic.stockCode
});
}); ///就是接收的数据