Parse platform 在React Native中通过SDK显示Parse.com数据
我刚开始用React Native,我肯定我遗漏了一些小东西。然而,就我个人而言,我不知道如何在任何地方显示这个.data.mission.XX。我可以通过控制台记录数据并在Xcode中查看,但仅此而已Parse platform 在React Native中通过SDK显示Parse.com数据,parse-platform,reactjs,react-native,Parse Platform,Reactjs,React Native,我刚开始用React Native,我肯定我遗漏了一些小东西。然而,就我个人而言,我不知道如何在任何地方显示这个.data.mission.XX。我可以通过控制台记录数据并在Xcode中查看,但仅此而已 var React = require('react-native'); var Parse = require('parse/react-native'); var ParseReact = require('parse-react/react-native'); var { Compo
var React = require('react-native');
var Parse = require('parse/react-native');
var ParseReact = require('parse-react/react-native');
var {
Component,
StyleSheet,
Image,
Text,
View,
StatusBarIOS,
} = React;
var CountdownClock = require('./CountdownClock');
var CountdownScreen = React.createClass({
mixins: [ParseReact.Mixin],
getInitialState: function() {
return{
mission: null,
};
},
componentDidMount: function() {
StatusBarIOS.setStyle('light-content');
},
observe: function() {
return {
mission: (new Parse.Query('mission')).equalTo('featuredMission', true)
};
},
render: function() {
console.log(this.data.mission);
return (
<Image source={{uri: '#'}} style={styles.backgroundImage}>
<View style={styles.mainContainer}>
<View style={styles.clock}>
<CountdownClock />
</View>
<View style={styles.featured}>
<Text style={styles.header}> Name: {this.data.mission.missionName} </Text>
<Text style={styles.header}> Estimated Start: {this.data.mission.windowStart}</Text>
<Text style={styles.header}> Site: {this.data.mission.missionSite}</Text>
<Text style={styles.header}> Vehicle: {this.data.mission.missionVehicle}</Text>
<Text style={styles.description}>{this.data.mission.missionDescription}</Text>
</View>
</View>
</Image>
);
}
});
var React=require('React-native');
var Parse=require('Parse/react native');
var ParseReact=require('parse-react/react native');
变量{
组成部分,
样式表,
形象,,
文本,
看法
巴里奥斯,
}=反应;
var CountdownClock=require('./CountdownClock');
var CountdownScreen=React.createClass({
Mixin:[ParseReact.Mixin],
getInitialState:函数(){
返回{
任务:空,
};
},
componentDidMount:function(){
StatusBarIOS.setStyle(“轻含量”);
},
注意:函数(){
返回{
任务:(新建Parse.Query('mission')).equalTo('featureadmission',true)
};
},
render:function(){
console.log(this.data.mission);
返回(
名称:{this.data.mission.missionName}
估计开始时间:{this.data.mission.windowStart}
站点:{this.data.mission.missions}
车辆:{这个.数据.任务.任务车辆}
{this.data.mission.missionDescription}
);
}
});
考虑到this.data正在注销,您可能需要执行以下操作:
将数据属性设置为以下状态:
getInitialState(){
data: {}
}
componentWillUpdate() {
this.setState({
data: this.data
})
}
将此.data附加到状态:
getInitialState(){
data: {}
}
componentWillUpdate() {
this.setState({
data: this.data
})
}
使用this.state.data vs.this.data
<View style={styles.featured}>
<Text style={styles.header}> Name: {this.state.data.mission.missionName} </Text>
<Text style={styles.header}> Estimated Start: {this.state.data.mission.windowStart}</Text>
<Text style={styles.header}> Site: {this.state.data.mission.missionSite}</Text>
<Text style={styles.header}> Vehicle: {this.state.data.mission.missionVehicle}</Text>
<Text style={styles.description}>{this.state.data.mission.missionDescription}</Text>
</View>
名称:{this.state.data.mission.missionName}
估计开始:{this.state.data.mission.windowStart}
站点:{this.state.data.mission.missions}
载具:{此.状态.数据.任务.任务载具}
{this.state.data.mission.missionDescription}
我将getInitialState更改为返回数据:{},并在componentDidMount中执行this.setState数据:this.data;然而,我仍然有同样的问题。我可以控制台.log(this.state.data);它在Xcode控制台中为我提供了我的对象,但它没有显示在我的视图中。看了以下内容后,可能会尝试componentWillUpdate()(请参阅更新的答案)?