Parse platform 在React Native中通过SDK显示Parse.com数据

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

我刚开始用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 {
  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()(请参阅更新的答案)?