React-native:尝试打印依赖于data.child的数据

时间:2018-08-02 12:09:11

标签: javascript firebase react-native firebase-realtime-database

我在Firebase中有一组带有子节点"type" = [job, event]的数据,并且我希望根据数据类型来不同地打印数据。

Here is the datastructure

这是我的代码:

export default class mobilefomoapp extends React.Component {
  constructor(props){
   super(props);
   var ref = firebase.database().ref('opportunities');

   this.state = {
      jobs : [],
      events : [],
   };
}

setJobs(){
 ref.orderByChild("Type").equalTo('job').on("child_added", function(snapshot) {
  this.setState({
     jobs : snapshot,
   });
 });
}

render() {
    return (
    <Container>
     {this.state.jobs}
    </Container>
  );
 }
}

1 个答案:

答案 0 :(得分:0)

现在可以使用!似乎问题在于我正在渲染对象数组,而不是每个对象的特定子对象。非常感谢@Frank的提示!

export default class mobilefomoapp extends React.Component {
  constructor(props){
    super(props);
    var ref = firebase.database().ref('opportunities');
    this.state = {
      jobs : [],
      events : [],
    };
  }

  SetJobs(){
    var ref = firebase.database().ref('opportunities');
    ref.orderByChild("Type").equalTo('job').once('value').then(
      snapshot => {
        this.setState({
          jobs: snapshot.val(),
        });
      }
    )
  }

  componentDidMount(){
    this.SetJobs()
  }

    render() {
      console.log(this.state.jobs)
        return (
        <Container>
        <Text>Hello</Text>
        {/* {this.state.jobs.Title} */}
        </Container>
      );
    }
}