Reactjs 反应递归

Reactjs 反应递归,reactjs,recursion,Reactjs,Recursion,我试着让一个函数自己调用来做一些递归。但我似乎无法找到如何从内部访问该功能。可能是语法问题-有人能帮忙吗?。它抛出 TypeError:无法读取未定义的属性“RecursiveEnderChildren” import React,{Component}来自'React'; 导出默认类ComposeDom扩展组件{ render(){ 返回 {this.recursiveRenderChildren(this.props.cdom.treeData)} } recursiveRenderChil

我试着让一个函数自己调用来做一些递归。但我似乎无法找到如何从内部访问该功能。可能是语法问题-有人能帮忙吗?。它抛出 TypeError:无法读取未定义的属性“RecursiveEnderChildren”

import React,{Component}来自'React';
导出默认类ComposeDom扩展组件{
render(){
返回
{this.recursiveRenderChildren(this.props.cdom.treeData)}
}
recursiveRenderChildren(儿童){
返回children.map(函数(子函数){
console.log(子级);
返回{child.title}{this.recursiveRenderChildren(child.children)}
})
}

功能应如下所示:-

recursiveRenderChildren(children) {
        let that = this;
        return children.map(function(child){
          console.log(child);
            return <child.slug key={child.title}>{child.title} {that.recursiveRenderChildren(child.children)}</child.slug>
        })
  }
recursiveRenderChildren(子项){
让那=这;
返回children.map(函数(子函数){
console.log(子级);
返回{child.title}{that.recursiveRenderChildren(child.children)}
})
}

一般来说,“从函数本身访问函数”应该没有问题。那么您看到的错误是什么?哦,您好。您的quick。它确实会抛出一个错误“TypeError:无法读取未定义的属性“recursiveCloneChildren”recursiveCloneChildren这不应该是recursiveRenderChildren吗?我想输入错误:您调用的是
recursiveCloneChildren
,而不是
recursiveCloneChildren
,请检查控制台,它应该抛出错误。绑定问题,使用箭头函数:
返回children.map((child)=>{
检查此答案以了解更多详细信息:不需要将上下文存储在单独的变量中,我们可以使用箭头函数:
返回children.map((child)=>{
@MayankShukla是的,这也是正确的。只是想让他更容易理解,这就是为什么要将上下文存储在另一个变量中。@Phil如果答案对您有帮助,请您将其标记为正确答案。谢谢。@VivekN-感谢您以简单的方式指出了这里的基本问题:DHappy to help…)
recursiveRenderChildren(children) {
        let that = this;
        return children.map(function(child){
          console.log(child);
            return <child.slug key={child.title}>{child.title} {that.recursiveRenderChildren(child.children)}</child.slug>
        })
  }