我目前正在编写Android React Native应用程序,该应用程序由通过Ruby on Rails服务器提供的JSON API支持。我目前最大的困难是保存了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 AM“ } – Riizu