簡體   English   中英

在React.js Webview和本機代碼之間進行交流?

[英]Communicate between React.js webview and native code?

我在這里不是在談論react-native

這是一個包含本機和JavaScript的混合應用程序。
我們正在使用的Javascript庫恰好是React.js。

我們在類似的設置中使用了Backbone,並且在本地和js世界之間傳遞消息沒有問題。

為了與js交流,我們在頁面中公開了一個全局變量(一個Backbone View實例)。

因此,我們可以執行諸如window.login_view.do_login()

可能是因為我們有login_view實例。

但是,對於react.js,我不知道如何創建這樣的實例,因為我的代碼類似於以下內容,並且沒有可以引用的instance

 ReactDOM.render(
   <Provider store={store}>
     <Router>
       <Article/>
     </Router>
   </Provider>,
   document.getElementById('mainApp')
 )

本機端如何在混合應用程序中與react.js對話?

使用參考:

...
<Article ref={(article) => { this._article = article; }} />
...

在您的文章類中:

componentDidMount: function() {
    window.globaVarArticle = this._article;
} ...

現在,您可以使用window.globaVarArticle。[methodname]訪問類提供者的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM