Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何访问firebase嵌套对象_Javascript_Reactjs_Firebase_Firebase Realtime Database - Fatal编程技术网

Javascript 如何访问firebase嵌套对象

Javascript 如何访问firebase嵌套对象,javascript,reactjs,firebase,firebase-realtime-database,Javascript,Reactjs,Firebase,Firebase Realtime Database,请给我们一些您尝试过的代码,我正在编辑我的文章,并提供我尝试过的代码。请编辑您的问题,将代码文本和数据结构作为JSON。您可以从IDE中获取代码,并通过单击页面中的“导出JSON”链接获取JSON。将它们作为文本让你的问题更容易理解和回答。链接没有那么有用(因为它们往往会腐烂)。@Frank van Puffelen我按照你的指示编辑了我的帖子,请再次检查。谢谢你。现在这个代码有什么问题?请注意,您共享了相当多的代码,因此请帮助我们关注您遇到问题的地方。哪一行没有达到你期望的效果? import


请给我们一些您尝试过的代码,我正在编辑我的文章,并提供我尝试过的代码。请编辑您的问题,将代码文本和数据结构作为JSON。您可以从IDE中获取代码,并通过单击页面中的“导出JSON”链接获取JSON。将它们作为文本让你的问题更容易理解和回答。链接没有那么有用(因为它们往往会腐烂)。@Frank van Puffelen我按照你的指示编辑了我的帖子,请再次检查。谢谢你。现在这个代码有什么问题?请注意,您共享了相当多的代码,因此请帮助我们关注您遇到问题的地方。哪一行没有达到你期望的效果?
import React from "react"
import * as firebase from 'firebase';
import NavBarSignOut from '../navBar/navBarSignOut';
import {Link,browserHistory} from 'react-router';




class Candidiate extends React.Component{
    constructor(props){
        super(props);
        this.state = {
          myProfile : [],
          jobKeys : []
        }
    }
    componentDidMount(){
        const refRoot = firebase.database().ref();
        const rootRef = refRoot.child('jobs');
        rootRef.on('value',snapshot=>{
            var userObj = snapshot.val();
               console.log(userObj);            
             let vm = this;
             let obj = [];
             let keys = [];
                Object.keys(userObj).forEach(function (key) {
                 obj = userObj[key]       
                 keys.push(key);
            vm.state.myProfile.push(obj)
            vm.setState({ myProfile: vm.state.myProfile,  
                            jobKeys : keys
                          })
                });    
     })
              const apply =  rootRef.child(this.state.jobKeys+'/appliers').on('value',snap=>{
                    var apply = snap.val();
                    console.log(apply);
                    let a = [];
                    Object.keys(apply).forEach(function (key){
                        a = apply[key];
                        console.log(a);
                        this.setState({myProfile : this.state.a})
                    })
                })      
    }

    render(){
        return  firebase.auth().currentUser ? (
            <div>
                <NavBarSignOut />
               <center> <h1>Profile</h1> </center>
                 {this.state.myProfile.map((data , index) => (
                         <div key={index} className="container">

    <table className="table">
        <thead >
      <tr>
        <th>Name</th>
        <th>Education</th>
        <th>Skills</th>
        <th>Email</th>
        <th>GPA</th>   
        <th>Experience</th>                
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>{data.sName}</td>
        <td>{data.education}</td>
        <td>{data.skills}</td>
        <td>{data.sEmail}</td>
        <td>{data.gpa}</td>
        <td>{data.experience}</td>        
      </tr>
    </tbody>
  </table>

</div>      ))}
 <Link to="student" className="btn btn-primary">
    Go Back student Panel
  </Link>
            </div>
        ) : ( <div>{browserHistory.push('login')}</div> )
    }
}
export default Candidiate;
{
  "jobs" : {
    "-KpdYaI_E5Vp39bkeFww" : {
      "appliers" : {
        "JfUXMVNDrnVcnOkn8tZ1LfUFf2P2" : {
          "education" : "cma",
          "experience" : "not",
          "gpa" : "4",
          "sEmail" : "talha@gmail.com",
          "sId" : "JfUXMVNDrnVcnOkn8tZ1LfUFf2P2",
          "sName" : "talha",
          "skills" : "finance"
        }
      },
      "companyName" : "panacloud",
      "education" : "",
      "email" : "pana@gmail.com",
      "jobTitle" : "",
      "skills" : "",
      "uid" : "CcyYpW5c3GOcU3ltBIpSSg9cnd33"
    },
    "-KpeKF86tqYdosIOJP8M" : {
      "appliers" : {
        "JfUXMVNDrnVcnOkn8tZ1LfUFf2P2" : {
          "education" : "cma",
          "experience" : "not",
          "gpa" : "4",
          "sEmail" : "talha@gmail.com",
          "sId" : "JfUXMVNDrnVcnOkn8tZ1LfUFf2P2",
          "sName" : "talha",
          "skills" : "finance"
        }
      },
      "companyName" : "ibm",
      "education" : "bcom",
      "email" : "ibm@gmail.com",
      "jobTitle" : "data entry ",
      "skills" : "english",
      "uid" : "TgrXg6Fx0WZFhmNHRY0nxsLxkbL2"
    },
    "-Kpeew-PmNnqEB6f4Q_g" : {
      "companyName" : "ibm",
      "education" : "bscs",
      "email" : "ibm@gmail.com",
      "jobTitle" : "front end",
      "skills" : "html , css ,js",
      "uid" : "TgrXg6Fx0WZFhmNHRY0nxsLxkbL2"
    }
  },
  "update Profile" : {
    "JfUXMVNDrnVcnOkn8tZ1LfUFf2P2" : {
      "education" : "cma",
      "experience" : "not",
      "gpa" : "4",
      "sEmail" : "talha@gmail.com",
      "sId" : "JfUXMVNDrnVcnOkn8tZ1LfUFf2P2",
      "sName" : "talha",
      "skills" : "finance"
    },
    "vGHLdbDPF1YcvFOwzULmc0uIQUF3" : {
      "education" : "fcma",
      "experience" : "no",
      "gpa" : "4",
      "sEmail" : "student@gmail.com",
      "sId" : "vGHLdbDPF1YcvFOwzULmc0uIQUF3",
      "sName" : "student",
      "skills" : "taxation"
    }
  },
  "user" : {
    "CcyYpW5c3GOcU3ltBIpSSg9cnd33" : {
      "typeOfUser" : "company",
      "uEmail" : "pana@gmail.com",
      "uName" : "panacloud",
      "uPassword" : "12345678"
    },
    "JfUXMVNDrnVcnOkn8tZ1LfUFf2P2" : {
      "typeOfUser" : "student",
      "uEmail" : "talha@gmail.com",
      "uName" : "talha",
      "uPassword" : "12345678"
    },
    "TgrXg6Fx0WZFhmNHRY0nxsLxkbL2" : {
      "typeOfUser" : "company",
      "uEmail" : "ibm@gmail.com",
      "uName" : "ibm",
      "uPassword" : "12345678"
    },
    "vGHLdbDPF1YcvFOwzULmc0uIQUF3" : {
      "typeOfUser" : "student",
      "uEmail" : "student@gmail.com",
      "uName" : "student",
      "uPassword" : "12345678"
    }
  }
}