反应本机更改 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>
        );
    }
}