反应本机更改 Webview URL
React Native Change Webview URL
大家好,在函数调用及其最终回调之后,我必须更改 webview url 但错误显示 this.webview 未定义,这是我的代码。
使用 html 中的 postMessage 后进入 onMessage 函数,我必须更改 webview 的 URL。
帮助我,我将永远感谢你
export default class WevViewApp extends Component {
constructor( props ) {
super( props );
this.webView = null;
}
onMessage( event ) {
if(registerToken){
//change url of my webview
}
}
render() {
return (
<View style={{flex: 1}}>
<WebView
ref={( webView ) => this.webView = webView}
style={{flex: 1}}
source={{uri: 'https://url.com/test123'}}
javaScriptEnabled={true}
injectedJavaScript={myInjectedJs}
onMessage={this.onMessage}
/>
</View>
);
}
}
您可以使用状态
更新 url
export default class WevViewApp extends Component {
constructor(props) {
super(props);
this.webView = 'https://url.com/test123'; // you can define your on load URL
}
onMessage(event) {
if (registerToken) {
this.setState({
webView: 'https://url.com/test123' // you just update URL here
})
}
}
render() {
return (
<View style={{ flex: 1 }}>
<WebView
ref={(webView) => this.webView = webView}
style={{ flex: 1 }}
source={{ uri: this.state.webView }}
javaScriptEnabled={true}
injectedJavaScript={myInjectedJs}
onMessage={this.onMessage}
/>
</View>
);
}
}
大家好,在函数调用及其最终回调之后,我必须更改 webview url 但错误显示 this.webview 未定义,这是我的代码。 使用 html 中的 postMessage 后进入 onMessage 函数,我必须更改 webview 的 URL。 帮助我,我将永远感谢你
export default class WevViewApp extends Component {
constructor( props ) {
super( props );
this.webView = null;
}
onMessage( event ) {
if(registerToken){
//change url of my webview
}
}
render() {
return (
<View style={{flex: 1}}>
<WebView
ref={( webView ) => this.webView = webView}
style={{flex: 1}}
source={{uri: 'https://url.com/test123'}}
javaScriptEnabled={true}
injectedJavaScript={myInjectedJs}
onMessage={this.onMessage}
/>
</View>
);
}
}
您可以使用状态
更新 urlexport default class WevViewApp extends Component {
constructor(props) {
super(props);
this.webView = 'https://url.com/test123'; // you can define your on load URL
}
onMessage(event) {
if (registerToken) {
this.setState({
webView: 'https://url.com/test123' // you just update URL here
})
}
}
render() {
return (
<View style={{ flex: 1 }}>
<WebView
ref={(webView) => this.webView = webView}
style={{ flex: 1 }}
source={{ uri: this.state.webView }}
javaScriptEnabled={true}
injectedJavaScript={myInjectedJs}
onMessage={this.onMessage}
/>
</View>
);
}
}