2 回答
TA贡献1810条经验 获得超4个赞
您可以递归地渲染它
const data = [
{
"value": "awesome",
"comments": [
{
"value": "thanks"
"comments": null
},
{
"value": "really awesome",
"comments": [
"value": "thanks again",
"comments": null
]
}
]
}
]
const CommentItem = (props) => {
return (
<div>{props.item.value}</div>
{
Array.isArrray(props.item.comments) &&
props.item.comments.length >= 1 &&
props.comments.map(comment => (
<CommentItem item={comment.comments}/>
)
}
)
}
return data.map(comment => <CommentItem item={comment}/>)
TA贡献1835条经验 获得超7个赞
您将使用递归函数。递归意味着函数调用自身,或者在 React 的情况下,是一个将自身作为子元素返回的组件。
这是一个将值呈现为段落元素的示例,然后呈现子注释。
function Comment(props) {
return (<>
<p>{props.value}</p>
{props.comments ?
props.comments.map(comment => {
return <Comment comments={comment.comments} />
})
: null}
</>)
}
添加回答
举报