Ich schreibe gerade eine Android React Native App, die von einer JSON API bedient wird, die über einen Ruby on Rails Server bedient wird. Mein größter Fehler hat derzeit die Ergebnisse eines fetch
Anrufs gespeichert. Mein Code ist wie folgt:Wie können Sie die Ergebnisse eines Abrufs bei der Verwendung von Native React speichern?
import React, { Component } from 'react';
import {
AppRegistry,
StyleSheet,
Text,
View,
TouchableHighlight,
Alert
} from 'react-native';
class MiniMinionClient extends Component {
constructor(props) {
super(props);
}
getStatus() {
return fetch('http://10.0.2.2:3000/api/v1/status.json')
.then((response) => response.json())
.then((responseJson) => {
return responseJson;
})
.catch((error) => {
console.error(error);
});
}
render() {
var status = this.getStatus()
return (
<View style={styles.container}>
<Text>Version {status.version}</Text>
<Text>Last Update: {status.last_update}</Text>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
flexDirection: 'row',
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
}
});
AppRegistry.registerComponent('MiniMinionClient',() => MiniMinionClient);
Ich weiß, dass dies ein gültiger Endpunkt ist, wie ich in der Lage war, die gleiche Anruf Arbeit zu machen, wenn ich alert Beiträge verwenden, die ich auf die Idee von here bekam. Ich denke, das Problem rührt von der asynchronen Natur von fetch
her, aber ich bin mir nicht sicher, wie ich das umgehen soll.
Jede Hilfe wäre sehr willkommen!
Können Sie die Ausgabe von 'responseJson' oder die Daten der JSON-Datei bereitstellen? Ich kann Ihnen den vollen Arbeitscode zur Verfügung stellen, wenn ich das Format kenne. –
Der Wert, der als Ergebnis der Funktion zurückkommt, ist ein Promise-Objekt und die Daten der JSON-Datei sind { "Version": "0.0.1", "last_update": "27.07.2016 um 06:15 " " – Riizu