Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.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 无法映射子级的子级_Javascript_Reactjs - Fatal编程技术网

Javascript 无法映射子级的子级

Javascript 无法映射子级的子级,javascript,reactjs,Javascript,Reactjs,我的文件结构有一个questions数组,其中还有一个section\u questions数组我想访问 React代码如下所示 <div className="questions-container"> {employee.questions.map(question => ( <p className="section-title">{question.section_name}</p> /* This won't work,

我的文件结构有一个
questions
数组,其中还有一个
section\u questions
数组我想访问

React代码如下所示

<div className="questions-container">
  {employee.questions.map(question => (
    <p className="section-title">{question.section_name}</p>

    /* This won't work, syntax error */
    { question.section_questions.map(sq => ( <p>Yo</p> )) }

    )
  )}
</div>
为什么这样不行?我怎样才能解决这个问题


错误是解析错误:意外的标记,预期为“,”

问题似乎是您需要一个标记(或片段)来封装下面的所有内容

所以你可以:

  • 将移动到
    {question.section_questions.map(sq=>(Yo

    )}
    之后
  • 或者将所有内容都包含在
    div
  • 或者使用react片段
    而不是
    div
    。建议人:@Antoan Elenkov
见:

示例:

class TodoApp extends React.Component {
  constructor(props) {
    super(props)

    this.questions = [

        { section_name: "Learn JavaScript", section_questions: [1] },
        { section_name: "Learn React", section_questions: [1] },
        { section_name: "Play around in JSFiddle", section_questions: [1] },
        { section_name: "Build something awesome", section_questions: [1] }

    ];


  }

  render() {
    return (
      <div>
        <h2>Todos:</h2>

  {this.questions.map(question => (
    <p className="section-title">
    {question.section_name}
    {question.section_questions}
    {question.section_questions.map(sq => ( <p>Yo</p> ))}
    </p>   


    )
  )}
</div>

    )
  }
}

ReactDOM.render(<TodoApp />, document.querySelector("#app"))
类TodoApp扩展了React.Component{
建造师(道具){
超级(道具)
这个问题=[
{section_name:“学习JavaScript”,section_问题:[1]},
{章节名称:“学习反应”,章节问题:[1]},
{section_name:“在JSFiddle中玩”,section_问题:[1]},
{section_name:“打造令人敬畏的东西”,section_问题:[1]}
];
}
render(){
返回(
待办事项:
{this.questions.map(问题=>(

{问题.章节名称} {问题.第_部分问题} {question.section_questions.map(sq=>(Yo

)}

) )} ) } } ReactDOM.render(,document.querySelector(“#app”))
小提琴:

更新 另一种选择是将所有内容都包含在
标记中

  {this.questions.map(question => (
     <div>
    <p className="section-title"> {question.section_name} </p>

    {question.section_questions}
    {question.section_questions.map(sq => ( <p>Yo</p> ))}
   </div>   


    )
  )}
{this.questions.map(问题=>(

{question.section\u name}

{问题.第_部分问题} {question.section_questions.map(sq=>(Yo

)} ) )}
你能粘贴一些问题数组的样本数据吗。这样就更容易找到原因和你的error@Saphire请发布错误和问题数组。我想你会在这里找到问题的答案:但我不能100%肯定,正如其他人所说,如果没有数据示例和错误文本。我提供了更多详细信息@为什么?我想把这些标签分开标签?@Saphire试着用一个“div”括起来。我已经更新了我的答案。所以用react fragment代替-@Antoan Elenkov,我在我的答案中添加了你的建议。谢谢
  {this.questions.map(question => (
     <div>
    <p className="section-title"> {question.section_name} </p>

    {question.section_questions}
    {question.section_questions.map(sq => ( <p>Yo</p> ))}
   </div>   


    )
  )}