Wie kann ich einen Hyperlink in einer React Native App anzeigen?Hyperlink in React Native App anzeigen
z.B.
<a href="https://google.com>Google</a>
Wie kann ich einen Hyperlink in einer React Native App anzeigen?Hyperlink in React Native App anzeigen
z.B.
<a href="https://google.com>Google</a>
Etwas wie folgt aus:
<Text style={{color: 'blue'}}
onPress={() => Linking.openURL('http://google.com')}>
Google
</Text>
mit dem Linking
-Modul, das mit der gebürtigen React gebündelt wird. (Beachten Sie, dass die Verwendung von Linking
React Native 0.20.0 oder höher erfordert.)
Das hat bei mir funktioniert ... Danke! –
Wenn Sie einen dynamischen Wert benötigen, können Sie etwas wie 'this.props.url' anstelle von' 'http: // google.com'' verwenden (keine Klammern erforderlich) –
@philipp es wirft mich Fehler m 'kann' t find variable Linking ' – devanshsadhotra
Die ausgewählte Antwort bezieht sich nur auf iOS. Für beide Plattformen können Sie die folgende Komponente verwenden:
import React, { Component, PropTypes } from 'react';
import {
Linking,
Text,
StyleSheet
} from 'react-native';
export default class HyperLink extends Component {
constructor(){
super();
this._goToURL = this._goToURL.bind(this);
}
static propTypes = {
url: PropTypes.string.isRequired,
title: PropTypes.string.isRequired,
}
render() {
const { title} = this.props;
return(
<Text style={styles.title} onPress={this._goToURL}>
> {title}
</Text>
);
}
_goToURL() {
const { url } = this.props;
Linking.canOpenURL(url).then(supported => {
if (supported) {
Linking.openURL(this.props.url);
} else {
console.log('Don\'t know how to open URI: ' + this.props.url);
}
});
}
}
const styles = StyleSheet.create({
title: {
color: '#acacac',
fontWeight: 'bold'
}
});
Wenn Sie Links und andere Arten von Rich-Text tun wollen, eine umfassendere Lösung ist React Native HTMLView zu verwenden.
Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier und Stellen Sie den Link als Referenz zur Verfügung. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. - [Aus Bewertung] (/ review/low-quality-posts/13192218) – Ari0nhh
@ Ari0nhh Ich löschte die Frage, da es die einzige Möglichkeit war, auf Ihren Kommentar zu antworten. Es gibt viele Präzedenzfälle auf SO, wo eine hochrangige Antwort einfach eine Verbindung zu einer guten Bibliothek ist. Plus andere Antworten decken bereits eine einfache Implementierung ab. Ich nehme an, ich könnte dies als Kommentar zu der ursprünglichen Frage wiederholen, aber ich sehe es als eine echte Antwort an. Und den Link hier zu lassen, ist zumindest ein Krümel für zukünftige Suchende, wenn die Leute ihn jetzt bearbeiten und mit besseren Beispielen verbessern wollen, dann gibt es jetzt einen Platz zum Starten. – Eliot
für die React Native, gibt es eine Bibliothek zum Öffnen von Hyperlinks in der App. https://www.npmjs.com/package/react-native-hyperlink
Zusätzlich dazu, nehme ich an, dass Sie URL überprüfen müssen, und der beste Ansatz ist Regex. https://www.npmjs.com/package/url-regex
Wenn Sie für IOS erstellen, ist der SVC besser zu implementieren als zu verknüpfen (zum Öffnen im Safari-Browser). https://github.com/naoufal/react-native-safari-view – rajaishwary
Um dies zu tun, würde ich stark erwägen, eine Komponente in einem TouchableOpacity
zu verpacken. Wenn eine TouchableOpacity
berührt wird, blendet sie (wird weniger undurchsichtig). Dies gibt dem Benutzer unmittelbares Feedback beim Berühren des Textes und sorgt für eine verbesserte Benutzererfahrung.
können Sie die onPress
Eigenschaft auf dem TouchableOpacity
benutzen Sie den Link passieren:
<TouchableOpacity onPress={() => Linking.openURL('http://google.com')}>
<Text style={{color: 'blue'}}>
Google
</Text>
</TouchableOpacity>
Betrachten weitere Tags wie ‚javascript‘ Hinzufügen von mehr Aufmerksamkeit von den Benutzern zu erhalten. Verallgemeinern Sie Ihre Beiträge nicht, indem Sie Tags wie "Codierung" usw. hinzufügen. –