Прежде всего, чтобы получить данные при открытии экрана, вы должны использовать метод жизненного цикла componentWillMount
, который выполняется до первого рендеринга, а затем сохранить результат в состоянии компонента. Реагирует на документы по состоянию и жизненному циклу
class RestOptions extends Component {
constructor(props) {
super(props);
this.state = {
jsonTest: null
}
}
componentWillMount() {
this.getSearchResults();
}
getSearchResults() {
fetch('http://192.168.1.3/Restaurant_App/php/search_results.php')
.then((response) => response.json())
.then((responseJson) => {
var JSON_Test = responseJson["distance"][0];
//Alert.alert(JSON_Test);
this.setState({ jsonTest: JSON_Test });
}).catch((error) => {
console.error(error);
});
}
//...
Затем вы можете отобразить значение метода render()
:
render() {
return (
<View>
<UsersMap />
<Text>{this.state.jsonTest}</Text>
<PrimaryButton
label="Set Reservation"
onPress={() => this.setReservation()}
/>
</View>
);
}
Если ответ является массивомзначений, вы можете использовать map()
для отображения каждого из них в своем собственном элементе Text
:
{this.state.jsonTest.map((value, index) => <Text key={index}>{value}</Text>)}