В настоящее время я нахожусь в написании приложения Android React Native, работающего на JSON-апи, обслуживаемом сервером Ruby on Rails. Моя самая большая ошибка в настоящее время сохраняет результаты вызова fetch
. Мой код выглядит следующим образом:При использовании React Native, как сохранить результаты выборки?
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);
Я знаю, что это действует конечная точка, так как я был в состоянии сделать ту же работу вызова, если я использую Уведомления сообщения, которые я получил идею от here. Я думаю, что проблема связана с асинхронным характером fetch
, но я не уверен, как обойти это.
Любая помощь была бы высоко оценена!
Можете ли вы предоставить выходные данные 'responseJson' или данные json-файла? Я могу предоставить вам полный рабочий код, если я знаю формат. –
Значение, возвращаемое в результате функции, является объектом Promise, а данные json-файла: { "version": "0.0.1", "last_update": "07/27/2016 at 06:15 " } – Riizu