React-Native与原生之间的交互简介
来源:互联网 发布:windows 调试 safari 编辑:程序博客网 时间:2024/05/21 02:32
JavaScript调用原生步骤:
1.创建原生java类
a、Js通过React.NativeModules.${getName()}的返回值访问本模块,例如:NativeModules.ToastModule
b、被Js调用的函数必须有@ReactMethod,为反射提供条件
public class ToastModule extends ReactContextBaseJavaModule { private final String COMPONENT_NAME = "ToastModule"; public ToastModule(ReactApplicationContext reactContext) { super(reactContext); } @Override public String getName() { return COMPONENT_NAME; } @ReactMethod public void showToast(String s){ Toast.makeText(getReactApplicationContext(), s + "ToastModule.showToast(String s)", Toast.LENGTH_SHORT).show(); }}
2.注册模块的创建与添加
2-1、(如果存在注册模块类则直接进入2-2)创建注册模块类,实现ReactPackage接口
2-2、 修改注册模块,例如:
public class MReactPackage implements ReactPackage { @Override public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) { List<NativeModule> modules = new ArrayList<>(); modules.add(new ToastModule(reactContext)); return modules; } @Override public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) { return Collections.emptyList(); } }
3.在MainApplication.java添加2中的注册包类的实例
protected List<ReactPackage> getPackages() { return Arrays.<ReactPackage>asList( new MainReactPackage(), new MReactPackage() ); }
4.Js中调用:
import { NativeModules }from 'react-native'; ...... var ToastModule = NativeModules.ToastModule; ToastModule.showToast("hello")
- 官方文档:ReactNative原生交互(android)
阅读全文
0 0
- React-Native与原生之间的交互简介
- react native 与原生之间的交互
- React Native 与 原生交互
- React Native 与 原生交互
- React Native与原生的图片交互问题
- (十一)React Native---与原生交互
- React Native 与原生之间的通信(iOS)
- React native和原生之间的通信
- React Native与Android原生通信交互详情
- React Native与Android原生通信交互详情
- React-Native 与原生的3种交互通信(Android)
- React-Native 与原生的3种交互通信(Android)
- React-Native 与原生的3种交互通信(Android)
- React-Native 与原生的3种交互通信(Android)
- React Native和原生iOS Objective-C的交互解决方案
- 关于iOS原生和react-native的交互
- react native之原生和RN的交互
- React Native 原生与JS之间事件绑定注册 作用在于原生可以直接调用JS的方法
- Python基础(一)
- 192.168.0.251 wifi上不去网的解决办法
- a标签突出显示盒子非js效果
- 单例模式
- Vika and Squares 【思维+技巧+debug???】
- React-Native与原生之间的交互简介
- 集成学习
- A
- (四)linux进程通讯、信号量
- android下挂http服务器Tomcat
- Spark---Datasource(JSON)---Scala
- 行人重识别之重排序(re-ranking)
- elasticsearch5.2集群部署
- 在Vue2.0中使用less做准备