Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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 如何在reactjs中循环嵌套对象?_Javascript_Json_Reactjs - Fatal编程技术网

Javascript 如何在reactjs中循环嵌套对象?

Javascript 如何在reactjs中循环嵌套对象?,javascript,json,reactjs,Javascript,Json,Reactjs,因为这是在一个对象中,我这样做,但它不工作。 如何通过循环获取“key”字段 <div> <ul> {tickets && tickets.issues && Object.keys(tickets.issues).map((issue, i) => ( <li key={i}> Issue number: {tickets.iss

因为这是在一个对象中,我这样做,但它不工作。 如何通过循环获取“key”字段

  <div>
      <ul>
        {tickets && tickets.issues && Object.keys(tickets.issues).map((issue, i) =>
        (
          <li key={i}>
            Issue number: {tickets.issues.key}
          </li>
         ))}
      </ul>
  </div>

    {tickets&&tickets.issues&&Object.key(tickets.issues).map((issue,i)=> (
  • 发行编号:{tickets.issues.key}
  • ))}
解决方案

   <div>
      <ul>
       {this.state.tickets && this.state.tickets.issues && Object.keys(this.state.tickets.issues).map((issue, i) =>
       (
        <li key={i}>
           Issue number: {this.state.tickets.issues[i].key}
        </li>
      ))}
      </ul>
  </div>

    {this.state.tickets&&this.state.tickets.issues&&Object.keys(this.state.tickets.issues).map((issue,i)=> (
  • 发行编号:{this.state.tickets.issues[i].key}
  • ))}

票证。问题
是一个对象数组,因此:

const { issues } = tickets;
issues.map(issue => console.log(issue.key));

tickets.issues
是一个对象数组,因此:

const { issues } = tickets;
issues.map(issue => console.log(issue.key));
简单的解决办法

  <div>
    <ul>
      {tickets && tickets.issues && Object.keys(tickets.issues).map((issue, i) => 
     (
      <li key={i}>
         Issue number: {tickets.issues.key}
      </li>
    ))}
    </ul>
  </div>

    {tickets&&tickets.issues&&Object.key(tickets.issues).map((issue,i)=> (
  • 发行编号:{tickets.issues.key}
  • ))}
一个简单的解决方案

  <div>
    <ul>
      {tickets && tickets.issues && Object.keys(tickets.issues).map((issue, i) => 
     (
      <li key={i}>
         Issue number: {tickets.issues.key}
      </li>
    ))}
    </ul>
  </div>

    {tickets&&tickets.issues&&Object.key(tickets.issues).map((issue,i)=> (
  • 发行编号:{tickets.issues.key}
  • ))}

查看您的响应图像,关键字段存在于issues[]中,但不存在于字段中,因此应该可以(不需要嵌套):

{Object.key(tickets.issues).map((issue,i)=>(
  • 发行编号:{Issue.key}
  • ))}
    如果在字段中有键(未在图像中展开)

    {Object.key(tickets.issues).map((issue,i)=>(
    Object.key(issue.fields).map(field=>(
    
  • 发行编号:{field.key}
  • ) ))}
    查看您的响应图像,关键字段存在于issues[]中,但不存在于字段中,因此应该可以(不需要嵌套):

    {Object.key(tickets.issues).map((issue,i)=>(
    
  • 发行编号:{Issue.key}
  • ))}
    如果在字段中有键(未在图像中展开)

    {Object.key(tickets.issues).map((issue,i)=>(
    Object.key(issue.fields).map(field=>(
    
  • 发行编号:{field.key}
  • ) ))}

    只有一个数组?只有一个数组?它不显示任何内容。我犯了一个小错误。请检查更新的答案仍然没有。哦,我刚刚意识到没有字段。这是唯一的票证。问题。它不显示任何内容。现在我犯了一个小错误。请检查更新的答案仍然没有ing o.oOhh我刚刚意识到没有字段,只有tickets.issues。让我试试这个:我如何在渲染函数中显示它?不在挂载函数中。让我试试这个:我如何在渲染函数中显示它?不在挂载函数中使用第一个方法,其中tickets.issues是一个数组,与字段无关,我得到一个错误,TypeError:无法将未定义或null转换为objecthmm,请测试它们是否存在,
    {tickets&&tickets.issues&&Object.keys(…)}
    因为它们只有在api调用后才可用。是的..我知道现在发生了什么,它在我在componentDidMount函数中获取JSON数据之前呈现,我如何从那里开始,这就是对象为空的原因。有没有办法在呈现之前获取数据?这是一个愚蠢的错误XDDDDNo问题,有时也会发生在我身上使用第一个方法,其中tickets.issues是一个数组,与字段无关,我得到一个错误,TypeError:无法将未定义或null转换为objecthmm,测试它们是否存在,
    {tickets&&tickets.issues&&Object.keys(…)}
    因为它们只有在api调用后才可用。是的..我知道现在发生了什么,它在我在componentDidMount函数中获取JSON数据之前呈现,我如何从那里开始,这就是对象为空的原因。有没有办法在呈现之前获取数据?这是一个愚蠢的错误XDDDDNo问题,有时也会发生在我身上。