Reactを使用してJSONデータをネストされたリストに再帰的にレンダリングしようとしています。このクラスを使用してネストされた反応リストが機能しない
[{"id": "1",
"name": "Luke"
},
{"id": "2",
"name": "Jim",
"childNodes":[{
"id": "3",
"name": "Lola"
}]
}]
を::
リスト要素を作成し、子クラスを呼び出すexport default class NestedList extends Component {
constructor(props) {
super(props);
this.state = {
visible: true
};
}
toggle =() => {
this.setState({ visible: !this.state.visible });
};
renderChild = (child) => {
if (child.childNodes) {
return (
<ul>
{child.myData.map(item => {
return this.renderChild(item);
})}
</ul>
);
}
else if (child.name) {
return <input type="checkbox"><Child name={child.name}/></input>;
}
return null;
}
render() {
return (
<aside>
<div>
<h4>Data Sets</h4>
<ul>
{this.renderChild(this.props.myData)}
</ul>
</div>
</aside>
);
}
}
:今私はこのような単純なデータオブジェクトを使用しています
export default class Child extends Component {
render() {
let {name}=this.props;
return (
<li>{name}</li>
);
}
}
が、それはdoesnの何も印刷しない。属性childNodes
を完全に削除しようとしましたが、リストを印刷しようとしましたが、まだ動作しません。私はどこが間違っているのか分かりません。私はこれを解決する方法に関するいくつかの助けに感謝します。
は、私が最初のアプローチを試してみましたが、私はこのエラーを取得しますundefinedの – user8907896
@ user8907896だから2番目のアプローチを行ってください:) – mersocarlin
@ user8907896それは実際に理解しやすいです。 – mersocarlin