国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

react native 原生模塊橋接的簡單說明小結

2024-05-06 15:42:03
字體:
來源:轉載
供稿:網友

Android

創建原生模塊包

通過繼承 ReactPackage 為你的原生模塊包創建 Java 類,可以這么寫: 覆蓋 createNativeModules 和 createViewManagers 方法
public class MyNativePackage implements ReactPackage {  @Override  public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {  }  @Override  public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {  }}

在 createNativeModules 方法中添加原生模塊

public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {  List<NativeModule> modules = new ArrayList<>();  modules.add(new MyNativeModule(reactContext));  return modules;}

在 createViewManagers 方法中添加原生 UI 組件

public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {  List<ViewManager> components = new ArrayList<>();  components.add(new RNNativeComponent());  return components;}

創建原生模塊

先通過繼承 ReactContextBaseJavaModule 創建 MyNativeModule 類。

public class MyNativeModule extends ReactContextBaseJavaModule {  public MyNativeModule(ReactApplicationContext reactContext) {    super(reactContext);  }}

為了讓 React Native 在 NativeModules 中找到我們的模塊,我們還需要覆蓋 getName 方法。

@Overridepublic String getName() {  return "MyNativeModule";}

現在我們已經擁有一個可以導入到 JavaScript 代碼的原生模塊,現在可以向其中加入功能。

暴露模塊方法:定義一個接受設置參數、成功回調和失敗回調的 Show 方法。

public class MyNativeModule extends ReactContextBaseJavaModule {  @ReactMethod  public void Show(ReadableMap config, Callback successCallback, Callback cancelCallback) {    Activity currentActivity = getCurrentActivity();    if (currentActivity == null) {      cancelCallback.invoke("Activity doesn't exist");      return;    }  }}

在 JavaScript 中調用模塊方法

import { NativeModules } from 'react-native'const { MyNativeModule } = NativeModulesMyNativeModule.Show( {}, //Config Parameters () => {}, //Success Callback () => {} //Cancel Callback)

注意:

模塊方法只提供靜態引用,不包含于 react 樹中。

創建原生 UI 組件

如果你需要在 react 樹中渲染一個原聲 UI 組件

創建一個繼承 ReactNative ViewGroupManager 的 Java 類

public class RNNativeComponent extends ViewGroupManager<ViewGroup> {  public static final String REACT_CLASS = "RNNativeComponent";}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 抚顺县| 山丹县| 大连市| 阿鲁科尔沁旗| 秦皇岛市| 娄底市| 汶上县| 晋中市| 昌图县| 土默特右旗| 抚远县| 丹寨县| 托克托县| 呼伦贝尔市| 醴陵市| 平远县| 安庆市| 台中市| 通许县| 饶阳县| 库伦旗| 奈曼旗| 斗六市| 旌德县| 茌平县| 玉田县| 凉城县| 阜城县| 天水市| 巩义市| 札达县| 镇赉县| 尤溪县| 宁津县| 宝应县| 林芝县| 庆安县| 贵阳市| 陕西省| 晋州市| 呈贡县|