Javascript 如何在react中循环、返回和渲染对象

Javascript 如何在react中循环、返回和渲染对象,javascript,reactjs,firebase,firebase-realtime-database,Javascript,Reactjs,Firebase,Firebase Realtime Database,我有一个像这样的对象: { "startups" : { "startup0":{ "achievements" : "Is done!", "how_build" : "In python and using google visio api", "inspiration" : "All the hot dogs in the world", "proyect_name" : "Hog dog or not Hot dog", "team"

我有一个像这样的对象:

{
  "startups" : {
    "startup0":{
    "achievements" : "Is done!",
    "how_build" : "In python and using google visio api",
    "inspiration" : "All the hot dogs in the world",
    "proyect_name" : "Hog dog or not Hot dog",
    "team" : {
      "Steven Anderson" : {
        "area" : "CEO",
        "email" : "sdandersonz97@gmail.com",
        "expertise" : "full-stack engineer"
      }
    },
    "what_does" : "Say is the image is a hot dog or not"
  },
  "startup1":{
    "achievements" : "Is done!",
    "how_build" : "In python and using google visio api",
    "inspiration" : "All the hot dogs in the world",
    "proyect_name" : "Big Brother",
    "team" : {
      "Steven Anderson" : {
        "area" : "CEO",
        "email" : "sdandersonz97@gmail.com",
        "expertise" : "full-stack engineer"
      }
    },
    "what_does" : "Say is the image is a hot dog or not"
  }
  }

}
我在此表单中初始化我的状态:

this.state={
      startups:[]
在这里,我调用firebase设置我的状态:

 componentDidMount(){
    const rootRef = firebase.database().ref().child('startups')
    rootRef.once('value', snap =>{
      this.setState({

        startups: this.state.startups.push(snap.val())

      });
    }
))

} 我尝试了不同的循环方式: 一,

二,

然后我调用fire base数据库来设置我的状态并工作,但是我不能循环到每次启动来在我的
div
中呈现这些值

如何循环此对象并在
render()
方法中渲染每个值?
我感谢你的帮助

你可以这样做

render{
    return(
       <div>
        {
    this.state.startups.map(function(startups,i)
      {

    <li key={i}>{startups.achievements}</li>//in whatever element you want to print

      },this)
         }


        </div>
 )
 }
渲染{
返回(
{
this.state.startups.map(函数(startups,i)
{
  • {startups.aclements}
  • //在您想要打印的任何元素中 },本页) } ) }

    有关更多详细信息,请阅读es6中的map或forEAch,您可以这样做

    render{
        return(
           <div>
            {
        this.state.startups.map(function(startups,i)
          {
    
        <li key={i}>{startups.achievements}</li>//in whatever element you want to print
    
          },this)
             }
    
    
            </div>
     )
     }
    
    渲染{
    返回(
    {
    this.state.startups.map(函数(startups,i)
    {
    
  • {startups.aclements}
  • //在您想要打印的任何元素中 },本页) } ) }

    有关更多详细信息,请阅读es6中的map或forEAch,如果
    启动对象

    Object.keys(startups).map((startup) => {
      return (
        <div>{startups[startup].proyect_name}</div> //for example
      )
    })
    
    Object.keys(启动).map((启动)=>{
    返回(
    {startups[startup].proyect\u name}//例如
    )
    })
    
    如果
    启动对象

    Object.keys(startups).map((startup) => {
      return (
        <div>{startups[startup].proyect_name}</div> //for example
      )
    })
    
    Object.keys(启动).map((启动)=>{
    返回(
    {startups[startup].proyect\u name}//例如
    )
    })
    
    使用:
    Object.keys(objectName)
    循环对象

    var数据={
    “创业公司”:{
    “创业0”:{
    “成就”:“完成了!”,
    “如何构建”:“使用python并使用google visio api”,
    “灵感”:“世界上所有的热狗”,
    “项目名称”:“是否是热狗”,
    “团队”:{
    “史蒂文·安德森”:{
    “区域”:“首席执行官”,
    “电子邮件”:sdandersonz97@gmail.com",
    “专业知识”:“全堆栈工程师”
    }
    },
    “what_所做的”:“说图像是否是热狗”
    },
    “创业1”:{
    “成就”:“完成了!”,
    “如何构建”:“使用python并使用google visio api”,
    “灵感”:“世界上所有的热狗”,
    “项目名称”:“老大哥”,
    “团队”:{
    “史蒂文·安德森”:{
    “区域”:“首席执行官”,
    “电子邮件”:sdandersonz97@gmail.com",
    “专业知识”:“全堆栈工程师”
    }
    },
    “what_所做的”:“说图像是否是热狗”
    }
    }
    }
    Object.keys(data.startups).map(函数(属性){
    console.log(data.startups[property].成就);
    })
    使用:
    Object.keys(objectName)
    循环对象

    var数据={
    “创业公司”:{
    “创业0”:{
    “成就”:“完成了!”,
    “如何构建”:“使用python并使用google visio api”,
    “灵感”:“世界上所有的热狗”,
    “项目名称”:“是否是热狗”,
    “团队”:{
    “史蒂文·安德森”:{
    “区域”:“首席执行官”,
    “电子邮件”:sdandersonz97@gmail.com",
    “专业知识”:“全堆栈工程师”
    }
    },
    “what_所做的”:“说图像是否是热狗”
    },
    “创业1”:{
    “成就”:“完成了!”,
    “如何构建”:“使用python并使用google visio api”,
    “灵感”:“世界上所有的热狗”,
    “项目名称”:“老大哥”,
    “团队”:{
    “史蒂文·安德森”:{
    “区域”:“首席执行官”,
    “电子邮件”:sdandersonz97@gmail.com",
    “专业知识”:“全堆栈工程师”
    }
    },
    “what_所做的”:“说图像是否是热狗”
    }
    }
    }
    Object.keys(data.startups).map(函数(属性){
    console.log(data.startups[property].成就);
    
    })
    我看不到您尝试过的循环的任何代码。我看不到您尝试过的循环的任何代码。它返回此类型错误:this.state.startups.map不是函数如果使用映射函数请确保对象是数组它返回此类型错误:this.state.startups.map不是函数如果您可以使用map函数
    Object.keys(startups).map((startup) => {
      return (
        <div>{startups[startup].proyect_name}</div> //for example
      )
    })