Jak wyświetlić hiperłącze w aplikacji React Native?
na przykład
<a href="https://google.com>Google</a>
javascript
react-native
Will Chu
źródło
źródło
Odpowiedzi:
Coś takiego:
używając
Linking
modułu dołączonego do React Native.źródło
this.props.url
zamiast'http://google.com'
(bez nawiasów klamrowych)import { Linking } from 'react-native';
w swoim dokumencie?<Text>Some paragraph <Text onPress=...>with a link</Text> inside</Text>
Wybrana odpowiedź dotyczy tylko iOS. W przypadku obu platform możesz użyć następującego składnika:
źródło
Aby to zrobić, zdecydowanie rozważyłbym umieszczenie
Text
komponentu wTouchableOpacity
. KiedyTouchableOpacity
zostanie dotknięty, zanika (staje się mniej matowy). Daje to użytkownikowi natychmiastową informację zwrotną po dotknięciu tekstu i zapewnia lepszą obsługę.Możesz użyć
onPress
właściwości na stronie,TouchableOpacity
aby utworzyć łącze:źródło
Dokumentacja React Native sugeruje użycie
Linking
:Odniesienie
Oto bardzo podstawowy przypadek użycia:
Możesz użyć notacji funkcjonalnej lub klasowej, wybór dealera.
źródło
Użyj React Native Hyperlink (
<A>
tag natywny ):Zainstalować:
import:
Stosowanie:
<A>Example.com</A>
<A href="example.com">Example</A>
<A href="https://example.com">Example</A>
<A href="example.com" style={{fontWeight: 'bold'}}>Example</A>
źródło
Kolejną pomocną uwagą, którą należy dodać do powyższych odpowiedzi, jest dodanie stylu flexbox. Dzięki temu tekst pozostanie w jednej linii i nie będzie się nakładał na ekran.
źródło
dla React Native dostępna jest biblioteka do otwierania hiperłączy w aplikacji. https://www.npmjs.com/package/react-native-hyperlink
Oprócz tego przypuszczam, że będziesz musiał sprawdzić adres URL, a najlepszym podejściem jest Regex. https://www.npmjs.com/package/url-regex
źródło
Jeśli chcesz robić linki i inne typy tekstu sformatowanego, bardziej wszechstronnym rozwiązaniem jest użycie React Native HTMLView .
źródło
Pomyślałem, że podzielę się moim hackerskim rozwiązaniem z każdym, kto teraz odkrywa ten problem z osadzonymi linkami w ciągu. Próbuje wstawić linki , renderując je dynamicznie za pomocą dowolnego ciągu, który jest do niego wprowadzany.
Możesz go dostosować do swoich potrzeb. Działa dla naszych celów, takich jak:
To jest przykład tego, jak https://google.com .
Zobacz to na Gist:
https://gist.github.com/Friendly-Robot/b4fa8501238b1118caaa908b08eb49e2
źródło
Importuj Łączenie modułu z React Native
Spróbuj:-
źródło