Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.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/24.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 使用React的嵌套列表_Javascript_Reactjs_Recursion_React Redux - Fatal编程技术网

Javascript 使用React的嵌套列表

Javascript 使用React的嵌套列表,javascript,reactjs,recursion,react-redux,Javascript,Reactjs,Recursion,React Redux,我正在尝试使用不同的输入数据在单独的div中创建嵌套列表。打印嵌套列表时遇到问题:list 2此处。我打印对象的name属性,然后检查是否有childNodes也打印这些节点的name属性,即嵌套。这是父类类 export default class Parent extends Component { render() { return ( <div> <h4>List 1</h4> <ul>

我正在尝试使用不同的输入数据在单独的
div
中创建嵌套列表。打印嵌套列表时遇到问题:
list 2
此处。我打印对象的
name
属性,然后检查是否有
childNodes
也打印这些节点的
name
属性,即嵌套。这是
父类

export default class Parent extends Component {
  render() {
    return (

    <div>
      <h4>List 1</h4>
      <ul>
        {this.props.jsonData1.map(item => {
          return <Child name={item.name}/>
        })}
      </ul>
    </div>

    <div>
      <h4>List 2</h4>
      <ul>
        {this.props.jsonData2.map(item1 => {
          return <Child name={item1.name}/>
         if(item1.childNodes){
           <ul>
           {item1.jsonData2.map(item2=>{
             return <Child name={item2.name}/>
           })}
         }</ul>
        })}
      </ul>
    </div>
    );
  }
}

我希望能得到一些关于我在这里做错了什么的指导。我试图使递归尽可能简单,但显然我做得不对。

看看代码就知道一些事情。在父类的返回中,确保已将所有内容封装在一个div中:

export default class Parent extends Component {
   render() {
      return(
         <div>
           //other code
         </div>
      );
   }
}
导出默认类父扩展组件{
render(){
返回(
//其他代码
);
}
}

看看代码就知道一些事情。在父类的返回中,确保已将所有内容封装在一个div中:

export default class Parent extends Component {
   render() {
      return(
         <div>
           //other code
         </div>
      );
   }
}
导出默认类父扩展组件{
render(){
返回(
//其他代码
);
}
}

你就快到了,但也许这会引导你走上正确的轨道。每当我们想递归地做一些事情时,我们都想知道我们的基本情况是什么,这样我们就不会再次调用该函数了。所以在我的小例子中,使用你所拥有的

export default class Child extends Component {
  render() {
    let {name}=this.props;
    return (
      <li>{name}</li>
    );
  }
}

你就快到了,但也许这会指引你进入正确的轨道。每当我们想递归地做一些事情时,我们都想知道我们的基本情况是什么,这样我们就不会再次调用该函数了。所以在我的小例子中,使用你所拥有的

export default class Child extends Component {
  render() {
    let {name}=this.props;
    return (
      <li>{name}</li>
    );
  }
}

谢谢。这是很好的解释,但我没有得到任何名单。有什么我没有得到的吗?我没有实现你的整个解决方案,而是关于如何实现的想法和指导。但是如果你有完整的代码,我可以帮你。非常感谢。这是很好的解释,但我没有得到任何名单。有什么我没有得到的吗?我没有实现你的整个解决方案,而是关于如何实现的想法和指导。但是如果你有完整的代码,我可以帮你。