Javascript React递归树传递JSON路径
我目前正在使用React创建一个递归树,并且遇到了另一个障碍。我试图从JSON结构中传递路径。所以对于每个孩子,我想传递一个物体道具,看起来像这样 一级儿童(点击水果) {值:“水果”} 二级儿童(点击热带) {value:“水果”,嵌套的_值:[{value:'热带'}]} 三级儿童(点击菠萝) {value:“水果”,嵌套的_值:[{value:'热带',嵌套的_值:[{value:'菠萝'}]} 等等。。。递归地 我需要在这里选择一个树元素,并将该特定元素的完整JSON结构/路径发送到Redux存储 任何帮助都将不胜感激 当前代码Javascript React递归树传递JSON路径,javascript,json,reactjs,recursion,computer-science,Javascript,Json,Reactjs,Recursion,Computer Science,我目前正在使用React创建一个递归树,并且遇到了另一个障碍。我试图从JSON结构中传递路径。所以对于每个孩子,我想传递一个物体道具,看起来像这样 一级儿童(点击水果) {值:“水果”} 二级儿童(点击热带) {value:“水果”,嵌套的_值:[{value:'热带'}]} 三级儿童(点击菠萝) {value:“水果”,嵌套的_值:[{value:'热带',嵌套的_值:[{value:'菠萝'}]} 等等。。。递归地 我需要在这里选择一个树元素,并将该特定元素的完整JSON结构/路径发送到Re
createTree(data, isSub, lev) {
let level = lev || 0;
let children = [];
for (let i in data) {
if (typeof(data[i].nested_values) === 'object') { // Sub array found, build structure
children.push(
<div class={"filter-group level-" + (level)}>
<div class="filter-heading">{data[i].value}</div>
{this.createTree(data[i].nested_values, true, level)}
</div>
);
} else { // No submenu, bottom of tree
children.push(
<span key={i}>
{data[i].value}
</span>
);
}
}
return <div className='filter-body open'>{children}</div>;
}
应用这个基本的递归模式(不要陷入复杂的函数中) 或多或少,你可以这样做:
const Component = ({data}) => <div>
<Row>{data['value']}</Row>
{data['nested_values'].map(data=><RComponent data={data}/>}
</div>
const RComponent= (props)=><Component{...props}/>
export default Component
const组件=({data})=>
{data['value']}
{data['nested_values'].map(data=>}
常量RComponent=(道具)=>
导出默认组件
然后,无论何时需要:
<Component data={data}/>
为什么不在用户端执行此操作?您的确切问题是什么?什么不起作用?我根本不知道如何构建动态对象,然后在这个递归循环中将其传递给子对象
<Component data={data}/>