如何从 React Native 的 WebView 组件在 Safari 中打开链接

How to open links in Safari from React Native's WebView component

在应用程序中,我使用的是 React Native 的 WebView 组件。如果用户明确单击任何链接,我希望它在 Safari 中打开,而不是将 WebView 组件定向到该 URL。

 <WebView
    source={{uri: 'https://some-url-here'}}
    style={{marginTop: 20}}
  />

对于IOS,您可以使用onShouldStartLoadWithRequest 属性。当 webview 打开一个新页面时调用该 prop。您可以 return false 停止加载并使用 React native Linking api 在 safari 中打开 url。

您的 onShouldStartLoadWithRequest 可能如下所示:

onShouldStartLoadWithRequest={(navState)=>{
      Linking.openURL(navState.url)
      return false;
    }}