搜尋

首頁  >  問答  >  主體

ios - WebViewJavascriptBridge,react 与原生客户端 webview 的交互有 demo 么?

各位大神们,react 与原生客户端 webview 的交互有 demo 么?比如我用WebViewJavascriptBridge简单实现了和 iOS 客户端的交互,但是不知道怎么和 react 整合在一起?

谢谢了~

PS:暂时使用的是 react,非 react-native。暂时针对的是 iOS 平台。

大家讲道理大家讲道理2894 天前371

全部回覆(2)我來回復

  • 高洛峰

    高洛峰2017-04-17 17:53:55

    既然你都實作了WebViewJavascriptBridge和前端的互動了,就當做普通的js呼叫即可,跟你使用react和不使用react沒有任何關係。

    native和js的交互,其實就是暴露一些方法而已,native是暴露在WebViewJavascriptBridge對像上的,而js通常是暴露在window對像上的(因為處理過前端和App的交互,所以知道,可以不一定暴露在window物件上,可以自訂一個物件)。你這裡所謂的和react整合,我不知道是否你的意思,native直接呼叫react.xxx方法。

    剛剛說了的,可以暴露在自訂物件上的,當然也可以透過react物件暴露給native。但是,不推薦這樣。主要有以下幾個原因:
    1.這樣很容易和react產生耦合,甚至衝突;
    2.其實我甚至不推薦,直接前端暴露方法給native調用(除非必須)。因為native呼叫前端方法的效率是很低的(尤其是Android,相對前端呼叫native方法)。我推薦採取回調的方式,這樣native不會依賴前端的方法。

    要注意的是,你這裡所說的react應該是React.js,而不是React Native。

    回覆
    0
  • 黄舟

    黄舟2017-04-17 17:53:55

    如果你說的是React Native自己封裝的webview,很遺憾,沒法js直接交互,只能透過url hash,ios可以攔截跳轉請求android暫時不支援
    不過貌似有個第三方支援js互動的webview

    回覆
    0
  • 取消回覆