我不是在这里讨论react-native
。
这是一个包含 native 和 JavaScript 的混合应用程序。
我们使用的 Javascript 库恰好是 React.js。
我们在类似的设置中使用了 Backbone,并且在 native 和 js 世界之间传递消息时没有遇到任何问题。
为了让 native 端与 js 对话,我们在页面中公开了一个全局变量(Backbone View 实例)。
所以我们可以做类似window.login_view.do_login()
的事情。
这是可能的,因为我们有 login_view
实例。
但是,对于react.js,我不知道如何创建这样的实例,因为我的代码如下所示,并且没有我可以引用的实例
。
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] 访问类 Provider 的方法
关于javascript - React.js webview 和 native 代码之间进行通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47093006/