代码语言:javascript复制
class CmtList extends React.Component {
constructor() {
super();
this.state = {
CommentList: [
{id:1, user: 'sss', content: 'java'},
{id:2, user: 'sss', content: 'java'},
{id:3, user: 'sss', content: 'java'},
{id:4, user: 'sss', content: 'java'},
]
}
}
render() {
return <div>
<h1> 这是评论列表组件 </h1>
{this.state.CommentList.map(item => <div>{item.user}</div>)}
</div>
}
}
ReactDOM.render(<div>
<CmtList>
</CmtList>
</div>, document.getElementById('example'));
仔细观察,item 里的字段都来自外界,并非该组件,所以定义成无状态的 function 最好。
代码语言:javascript复制function CmtItem(props) {
return <div key={props.user}>
<h1>评论人:{props.user}</h1>
<p>评论内容:{props.content}</p>
</div>
}
这么使用 render 函数
代码语言:javascript复制render() {
return <div>
<h1> 这是评论列表组件 </h1>
{this.state.CommentList.map(item => <CmtItem {...item}></CmtItem>)}
</div>
}