在 React Native 中更改 webview URL

pra*_*xus 6 webview react-native

我有一个具有 WebView 和底部导航栏的应用程序。

后退、前进和重新加载按钮可以正常工作,因为有 goForward()、goBack() 和 reload() 方法。

但我也有一个主页按钮,应该加载起始 url。我尝试设置新网址,this.setState但它不起作用。

this.setState({
  ...this.state,
  url: DEFAULT_URL,
})
Run Code Online (Sandbox Code Playgroud)

实际上它第一次起作用。例如,如果我更改源中的 URL 并热重新加载,则它可以工作。但是,如果我单击任何链接,主页将不再起作用。

是否可以这样做,如果可以,我做错了什么?

pra*_*xus 10

我通过将时间戳附加到 url 来解决它,因为它似乎设置了一个“新”url 会触发新的 render() 或其他东西。

所以函数现在是这样的:

this.setState({ url: `${DEFAULT_URL}?t=${Date.now()}` })
Run Code Online (Sandbox Code Playgroud)

  • 这绝对是我在 Stackoverflow 上看到过的令人惊叹的答案。我喜欢你的工作方式..谢谢 (2认同)