web-dev-qa-db-fra.com

Open Url dans le navigateur Web par défaut

Je suis nouveau dans react-native et je veux ouvrir rl dans navigateur par défaut comme Chrome dans Android et iPhone les deux.

Nous ouvrons l'URL via l'intention dans Android comme les fonctionnalités que je souhaite atteindre.

J'ai cherché plusieurs fois mais cela me donnera le résultat de Deepklinking .

46
Mohit Suthar

Vous devriez utiliser Linking .

Exemple tiré de la documentation:

class OpenURLButton extends React.Component {
  static propTypes = { url: React.PropTypes.string };
  handleClick = () => {
    Linking.canOpenURL(this.props.url).then(supported => {
      if (supported) {
        Linking.openURL(this.props.url);
      } else {
        console.log("Don't know how to open URI: " + this.props.url);
      }
    });
  };
  render() {
    return (
      <TouchableOpacity onPress={this.handleClick}>
        {" "}
        <View style={styles.button}>
          {" "}<Text style={styles.text}>Open {this.props.url}</Text>{" "}
        </View>
        {" "}
      </TouchableOpacity>
    );
  }
}

Voici un exemple que vous pouvez essayer Expo Snack :

import React, { Component } from 'react';
import { View, StyleSheet, Button, Linking } from 'react-native';
import { Constants } from 'expo';

export default class App extends Component {
  render() {
    return (
      <View style={styles.container}>
       <Button title="Click me" onPress={ ()=>{ Linking.openURL('https://google.com')}} />
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    alignItems: 'center',
    justifyContent: 'center',
    paddingTop: Constants.statusBarHeight,
    backgroundColor: '#ecf0f1',
  },
});
126
RRikesh