I am making a treeview from JSON using react. So far I have made a collapsible tree using this example data:
var data = {
title: "Node 1",
childNodes: [
{title: "Childnode 1.1"},
{title: "Childnode 1.2",
childNodes: [
{title: "Childnode 1.2.1",
childNodes: [
{title: "Childnode 1.2.1.1"}
]}, {title: "Childnode 1.2.2"}
]}
]
};
But this is one object. I want to get JSON array of objects as input and generate treeview from that but I am unable to understand where to change the code.
Here's my render function:
render() {
var childNodes;
if (this.props.node.childNodes != null) {
childNodes = this.props.node.childNodes.map(function (node, index) {
return <li key={index}><Treeview node={node}/></li>
});
}
return (
<form>
<div>
<input type="checkbox"/>
<label for>{this.props.node.title}</label>
</div>
<ul>
{childNodes}
</ul>
</form>
);
}
How can I change the code to work with the whole array and not just one object?