我有一个带有webview的本地应用。 当我单击通知时,我想转到预定义页面(导航到页面),但是应用程序未呈现新视图。 这是我打开应用程序时的代码(无需单击通知):
return (
<WebView
automaticallyAdjustContentInsets={false}
source={{
uri: 'https://my-url/',
}}
javaScriptEnabled={true}
domStorageEnabled={true}
startInLoadingState={true}
style={{
marginTop: 25,
}}
/>
);
而且,当我单击通知时:
return (
<WebView
automaticallyAdjustContentInsets={false}
source={{
uri: 'https://my-url/new',
}}
javaScriptEnabled={true}
domStorageEnabled={true}
startInLoadingState={true}
style={{
marginTop: 25,
}}
/>
);
当我单击通知时,该应用程序将再次在https:// my-url中打开。
当我单击通知时,我想浏览https:// my-url / new。
你能帮我吗?
答案 0 :(得分:1)
使用状态设置Web视图的URL。状态更改后,Web视图将使用更新的URL重新加载。
使用“ https:// my-url /”初始化url状态
假设您正在使用类组件,请在构造函数中设置初始网址。
constructor(props) {
super(props);
this.state = {
url: 'https://my-url/'
}
}
当您单击通知时,请使用所需的网址设置状态。
onNotification: function(notification) {
this.setState({
url: 'https://my-url/new'
})
}
这应该在webview中呈现预定义页面
return (
<WebView
automaticallyAdjustContentInsets={false}
source={{
uri: this.state.url,
}}
javaScriptEnabled={true}
domStorageEnabled={true}
startInLoadingState={true}
style={{
marginTop: 25,
}}
/>
);