AndroidReactNative原生模塊與JS模塊通信的方法總結(jié)-創(chuàng)新互聯(lián)

Android React Native原生模塊與JS模塊通信的方法總結(jié)

成都創(chuàng)新互聯(lián)公司專注于企業(yè)營(yíng)銷型網(wǎng)站、網(wǎng)站重做改版、康縣網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5響應(yīng)式網(wǎng)站、購(gòu)物商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為康縣等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

前言:

在做React Native開發(fā)的時(shí)候避免不了的需要原生模塊和JS之間進(jìn)行數(shù)據(jù)傳遞,這篇文章將向大家分享原生模塊向JS傳遞數(shù)據(jù)的幾種方式。

方式一:通過Callbacks的方式

說起Callbacks大家都不陌生,它是最常用的設(shè)計(jì)模式之一。無論是Java,Object-c,C#,還是JavaScript等都會(huì)看到Callbacks的身影。

原生模塊支持Callbacks類型的參數(shù),該Callbacks對(duì)應(yīng)JS中的function。

在原生模塊中:

public class RNTestModule extends ReactContextBaseJavaModule{
  public RNTestModule(ReactApplicationContext reactContext) {
    super(reactContext);
  }
  @Override
  public String getName() {
    return "RNTest";
  }

 @ReactMethod
 public void measureLayout(
   int tag,
   int ancestorTag,
   Callback errorCallback,
   Callback successCallback) {
  try {
   measureLayout(tag, ancestorTag, mMeasureBuffer);
   map.putDouble("relativeX",1);
   map.putDouble("relativeY", 1);
   map.putDouble("width", 2);
   map.putDouble("height",3);
   successCallback.invoke(relativeX, relativeY, width, height);
  } catch (IllegalViewOperationException e) {
   errorCallback.invoke(e.getMessage());   
  }
}

網(wǎng)站名稱:AndroidReactNative原生模塊與JS模塊通信的方法總結(jié)-創(chuàng)新互聯(lián)
文章源于:http://muchs.cn/article18/dodsgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作響應(yīng)式網(wǎng)站、建站公司、網(wǎng)站制作靜態(tài)網(wǎng)站外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化