Yerel Olarak Yanıtla uygulamasında bir köprüyü nasıl görüntülerim?Tepki Görüntüle Yerel Uygulamada Yanıtla
örn. Böyle
<a href="https://google.com>Google</a>
Yerel Olarak Yanıtla uygulamasında bir köprüyü nasıl görüntülerim?Tepki Görüntüle Yerel Uygulamada Yanıtla
örn. Böyle
<a href="https://google.com>Google</a>
şey:
<Text style={{color: 'blue'}}
onPress={() => Linking.openURL('http://google.com')}>
Google
</Text>
Yerli Tepki bir arada sunulan Linking
modülü kullanarak. (Not: Linking
'un kullanılması React Native 0.20.0 veya üstünü gerektirir.)
Bu benim için çalıştı ... teşekkürler! –
Dinamik bir değere ihtiyacınız varsa, 'http: // google.com 'yerine' this.props.url 'gibi bir şey kullanabilirsiniz (hiçbir parantez gerekli değildir) –
@philipp bu beni hataya atıyor' can ' t değişkeni bul ' – devanshsadhotra
Seçilen yanıt yalnızca iOS ile ilgilidir. Her iki platformda, aşağıdaki bileşeni kullanabilirsiniz: bağlantıları ve zengin metin başka tür yapmak istiyorsanız
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'
}
});
, daha kapsamlı bir çözüm React Native HTMLView kullanmaktır. React Native için
Bu bağlantı soruyu yanıtlayabilirken, cevabın temel kısımlarını burada eklemek daha iyidir ve referans için bağlantı sağlayın. Bağlantılı sayfa değiştiğinde yalnızca bağlantı yanıtları geçersiz olabilir. - [Yorum Yaz] [/ review/düşük kaliteli-mesajlar/13192218) – Ari0nhh
@ Ari0nhh Sorunuza yanıt verebilmemin tek yolu olduğu için sorumu geri aldım. Çok sıralı bir cevabın basit bir kütüphane bağlantısı olduğu SO'da çok sayıda örnek var. Artı diğer cevaplar zaten basit bir uygulamayı kapsamaktadır. Bunu orijinal soruyla ilgili bir yorum olarak yorumlayabilirim, ama bunu gerçek bir cevap olarak görüyorum. Ve buradaki bağlantıyı bırakmak en azından gelecek arayanlar için bir kırıntı, eğer insanlar onu düzenlemek ve daha iyi örneklerle iyileştirmek istiyorsa, şimdi başlayacak bir yer var. – Eliot
, Uygulamada Köprüleri açmak için bir kütüphane var. https://www.npmjs.com/package/react-native-hyperlink
Buna ek olarak, URL'yi kontrol etmeniz ve en iyi yaklaşımın Regex olduğunu varsaymanız gerekir. https://www.npmjs.com/package/url-regex
ios için çalışıyorsanız, SVC Linking (Safari Tarayıcısında açmak için) yerine uygulamak için daha iyi bir yaklaşımdır. https://github.com/naoufal/react-native-safari-view – rajaishwary
Bunu yapmak için TouchableOpacity
numaralı telefona Text
bileşenini sarmayı kesinlikle öneririm. TouchableOpacity
'a dokunduğunda, kaybolur (daha az opak olur). Bu, metne dokunduğunuzda kullanıcılara anında geri bildirim sağlar ve daha iyi bir kullanıcı deneyimi sağlar.
Sen bağlantı gerçekleşmesi için TouchableOpacity
üzerine onPress
özelliğini kullanabilirsiniz:
<TouchableOpacity onPress={() => Linking.openURL('http://google.com')}>
<Text style={{color: 'blue'}}>
Google
</Text>
</TouchableOpacity>
kullanıcılardan daha fazla dikkat çekmek için 'javascript' gibi daha fazla etiket eklemeyi düşünün. Ancak 'kodlama' gibi etiketler ekleyerek yayınlarınızı aşırı genellemeyin. –