i Я хочу получить URL-адрес из json и отобразить этот URL-адрес в веб-браузере inapp. Я пытался получить URL-адрес непосредственно из ответного json и передать его, но это не помогло. Я хочу передать выбранный URL-адрес в эту строку 'letresult = await WebBrowser.openBrowserAsync (this.dataUrl); '. Я хочу передать URL для нажатия кнопки, чтобы при каждом нажатии кнопки приложение открывало модуль браузера inapp и отображало URL. Пожалуйста, помогите мне и спасибо
import { Button, Text, View, StyleSheet,FlatList, ActivityIndicator } from 'react-native';
import * as WebBrowser from 'expo-web-browser';
import Constants from 'expo-constants';
export default class App extends Component {
constructor(props){
super(props);
this.state ={ isLoading: true}
}
state = {
result: null,
};
componentDidMount(){
return fetch('https://newsapi.org/v2/top-headlines?sources=techcrunch&apiKey=54bea81097cf4e94a25b8c02118bf8d1')
.then((response) => response.json())
.then((responseJson) => {
this.setState({
isLoading: false,
dataSource: responseJson.articles,
dataUrl: responseJson.articles.url,
}, function(){
});
})
.catch((error) =>{
console.error(error);
});
}
render() {
if(this.state.isLoading){
return(
<View style={{flex: 1, padding: 20}}>
<ActivityIndicator/>
</View>
)
}
return (
<View style={styles.container}>
<FlatList
data={this.state.dataSource}
renderItem={({item}) =>
<Button
style={styles.paragraph}
title="Open WebBrowser"
onPress={this._handlePressButtonAsync}
/>
}
keyExtractor={({id}, index) => id}
/>
</View>
);
}
_handlePressButtonAsync = async () => {
let result = await WebBrowser.openBrowserAsync(this.dataUrl);
this.setState({ result });
};
}
const styles = StyleSheet.create({
container: {
flex: 1,
alignItems: 'center',
justifyContent: 'center',
paddingTop: Constants.statusBarHeight,
backgroundColor: '#ecf0f1',
},
});````