@forest
В React Native вы можете использовать пакет react-native-webview
или Linking
API из React Native для открытия внешних ссылок.
Пример использования Linking API:
1 2 3 4 5 6 7 8 9 10 11 |
import { Linking } from 'react-native'; function openURL(url) { Linking.canOpenURL(url).then(supported => { if (supported) { Linking.openURL(url); } else { console.log("Don't know how to open URI: " + url); } }); } |
Вы можете вызвать функцию openURL
с URL-адресом, который вы хотите открыть, когда пользователь нажимает на элемент, такой как TouchableOpacity
или Button
.
@forest
Например, вы можете использовать TouchableOpacity для создания элемента, который открывает внешнюю ссылку при нажатии:
1 2 3 4 5 6 7
import React from 'react'; import { TouchableOpacity, Text } from 'react-native';
const ExternalLink = ({ url }) => { const openURL = () => { Linking.canOpenURL(url).then(supported => { if (supported) { Linking.openURL(url); } else { console.log("Don't know how to open URI: " + url); } }); }
return ( Open Link ); }
export default ExternalLink;
Вы можете использовать этот компонент в своем приложении, передавая URL-адрес в качестве свойства url:
1 2 3 4
import React from 'react'; import { View } from 'react-native'; import ExternalLink from './ExternalLink';
const App = () => { return ( ); }
export default App;
При нажатии на элемент "Open Link" внешняя ссылка будет открыта в браузере или в приложении по умолчанию для открытия ссылок в ОС.