import React from "react";
//导入当前组建需要的子组件
import CommentItem from "./CommentItem.jsx";
export default class CommentList extends React.Component {
constructor(props) {
super(props);
//定义一个当前评论列表组件的私有数据
this.state = {
cmts: [
{ user: "张大仙", content: "王者峡谷见" },
{ user: "一眼万年", content: "刺激战场我最强" },
{ user: "安其拉", content: "收起你的怜悯" },
{ user: "凯帝", content: "希望天下无仇" },
{ user: "李白", content: "一尊清酒,一把宝剑" },
{ user: "牛魔", content: "平天大圣,不服来战" },
{ user: "程咬金", content: "战斗,哪怕只剩最后一滴血" },
],
};
}
//在【有状态组件】中,render函数是必须的,表示渲染哪些虚拟DOM元素并展示出来
render() {
console.log("this.state:" + JSON.stringify(this.state));
/*
注意:
1、我们可以直接在JSX语法内部,使用数组的map函数,来遍历数组的每一项,
并使用map返回操作后的最新的数组
2、将CommenList里面的每一项抽离成一个组件CommentItem
3、{...item}写法是es6的语法,将item逐一展开
*/
return (
<div>
<h1 className="comm-title">评论列表</h1>
{this.state.cmts.map((item, i) => {
return (
/* <CommentItem
user={item.user}
content={item.content}
key={i}
></CommentItem> */
<CommentItem {...item} key={i}></CommentItem>
);
})}
</div>
);
}
}