React-Native-Webview:预期nodeHandle不为null
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了React-Native-Webview:预期nodeHandle不为null相关的知识,希望对你有一定的参考价值。
我使用react-native-webview
渲染webview。当我从webview中的一个页面导航到另一个页面然后尝试使用this.webviewref.goBack()
返回时,我得到了nodeHandle expected to be non-null
的例外。
这是我的一段代码
<View style={{ flex: 1 }}>
<Header
headingText={headerText}
onpress={() => {
// this.dispatchCustomEvent(BACK_PRESS);
if (this.canGoBack) {
this.webViewRef.goBack();
} else NavigationActions.pop();
}}
/>
<WebView
source={{ uri: "http://localhost:3001/invite/" }}
bounces={false}
javascriptEnabled={true}
ref={webViewRef => (this.webViewRef = webViewRef)}
// injectedJavaScript={patchPostMessageJsCode}
onMessage={event => {
const { type, data } = JSON.parse(event.nativeEvent.data);
console.log({ type });
console.log({ data });
this.handleEvent(type, data);
}}
onNavigationStateChange={navState =>
(this.canGoBack = navState.canGoBack)
}
/>
</View>
控制台记录this.webViewRef
显示weazRef中存在goBack
方法
投掷nodeHandle expected to be non-null
的代码可以在这里找到https://github.com/react-native-community/react-native-webview/blob/master/src/WebView.ios.tsx
我无法理解getWebViewHandle
的问题是什么,为什么nodeHandle
为null。
我有同样的问题。事实证明,我的react-native版本太低了。它需要至少0.57。升级到0.59.5和其他依赖项后,此问题消失。
以上是关于React-Native-Webview:预期nodeHandle不为null的主要内容,如果未能解决你的问题,请参考以下文章
WebView(react-native-webview)在 Expo SDK36 中获取错误代码 -1
无法通过 react-native-webview 访问相机
有啥方法可以在 react-native-webview 中禁用 hapticFeedback
react-native-webview 如何注入 javascript?