gpt4 book ai didi

javascript - React Native - Webview 调用 React Native 函数

转载 作者:行者123 更新时间:2023-12-01 15:08:48 26 4
gpt4 key购买 nike

是否可以在 WebView 中创建一个函数?组件,触发 React Native 功能?

最佳答案

这是可能的,但我不确定这是否是唯一的方法。

基本上你可以设置 onNavigationStateChange事件处理程序,并在导航 url 中嵌入函数调用信息,这是该概念的示例。

在 React Native 上下文中

render() {

return <WebView onNavigationStateChange={this._onURLChanged.bind(this)} />
}

_onURLChanged(e) {

// allow normal the natvigation
if(!e.url.startsWith('native://'))
return true
var payload = JSON.parse(e.url.replace('native://', ''))
switch(e.functionName) {
case 'toast' :
native_toast(e.data)
break
case 'camera' :
native_take_picture(e.data)
break
}
// return false to prevent webview navitate to the location of e.url
return false

}

要调用 native 方法,只需触发 webview 的导航事件并将函数调用信息嵌入 URL 中即可。
window.location = 'native://' + JSON.stringify({ 
functionName : 'toast', data : 'show toast text'
})

关于javascript - React Native - Webview 调用 React Native 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39035026/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com