Я новичок в react-native, и я хочу открыть URL-адрес в браузере по умолчанию, например Chrome в Android и iPhone .
Мы открываем URL-адрес через намерение в Android так же, как и функциональность, которую я хочу достичь.
Я много раз искал, но он дал мне результат Deepklinking .
android
ios
react-native
Мохит Сутар
источник
источник
Более простой способ, который исключает проверку того, может ли приложение открывать URL-адрес.
loadInBrowser = () => { Linking.openURL(this.state.url).catch(err => console.error("Couldn't load page", err)); };
Вызов с помощью кнопки.
<Button title="Open in Browser" onPress={this.loadInBrowser} />
источник
openURL
методу. Например:If (this.state.url) Linking.openURL(this.state.url)
. Вы также можете использовать предложение catch, если не хотите делать предварительную проверку.В React 16.8+, используя функциональные компоненты, вы бы сделали
import React from 'react'; import { Button, Linking } from 'react-native'; const ExternalLinkBtn = (props) => { return <Button title={props.title} onPress={() => { Linking.openURL(props.url) .catch(err => { console.error("Failed opening page because: ", err) alert('Failed to open page') })}} /> } export default function exampleUse() { return ( <View> <ExternalLinkBtn title="Example Link" url="https://example.com" /> </View> ) }
источник