评论列表案例-将评论Item项抽离为单独的CmtItem组件

简介: 评论列表案例-将评论Item项抽离为单独的CmtItem组件

评论列表案例-将评论Item项抽离为单独的CmtItem组件

 

这是评论列表组件

评论人:张三

评论内容:哈哈,沙发

评论人:李四

评论内容:哈哈,板凳

评论人:王五

评论内容:哈哈,凉席

评论人:赵六

评论内容:哈哈,砖头

评论人:田七

评论内容:哈哈,楼下山炮

 

这里每一项都是CmtItem组件,在代码中只有 <div>

{this.state.CommentList.map(item =><div key={item.id}>

<h1>评论人: {item.user}</h1>

<p>评论内容: {item.content}</p>

</div>}

</div>}

}

}

在当前整个 div 所控制区域里的 idusercomtent 都是通过 item.出来的,item不在范围内,所以 idusercomtent 都是从外界传递过来的,所以适合被定义为 front 组件。

所以:使用 function 构造函数,定义普通的无状态组件:

function CmtItem(props){

return<div key={ props.id}><h1

评论人: { props.user}</h1><p>

评论内容:{ props.content}</p>

</div>

}

组件创建完成。然后以标签形式把 CmtItem放到页面上:

{this.state.CommentList.map(item => <CmtItem>/cmtItem)}

保存,结构都有但数据没有传上去,所以:

{this.state.CommentList.map(item => <CmtItem {...item}></CmtItem>)}

但是出现一个警告:uniqueKey

虽然 Key 已经加上了,但是 map控制的不是所加 Key div,所以:

{this.state.CommentList.map(item=><Cmtltem...item} key={item.id}></CmtItem>)}

相关文章
|
8月前
|
前端开发
Antd中Table列表行默认包含修改及删除功能的封装
Antd中Table列表行默认包含修改及删除功能的封装
184 0
|
JavaScript
fastadmin表格列表内部自定义按钮
fastadmin表格列表内部自定义按钮
429 0
fastadmin表格列表内部自定义按钮
|
3月前
|
监控 JavaScript 开发者
在 Vue 中,子组件为何不可以修改父组件传递的 Prop,如果修改了,Vue 是如何监控到属性的修改并给出警告的
在 Vue 中,子组件不能直接修改父组件传递的 Prop,以确保数据流的单向性和可预测性。如果子组件尝试修改 Prop,Vue 会通过响应式系统检测到这一变化,并在控制台发出警告,提示开发者避免这种操作。
|
6月前
uniapp实战 —— 轮播图【自定义指示点】(含组件封装,自动注册全局组件,添加全局组件类型声明)
uniapp实战 —— 轮播图【自定义指示点】(含组件封装,自动注册全局组件,添加全局组件类型声明)
355 1
|
8月前
|
JavaScript
vue列表信息展示中新增数据,与编辑数据页面复用,降低重复代码
vue列表信息展示中新增数据,与编辑数据页面复用,降低重复代码
296 2
|
8月前
element plus 表各组件怎样和分页组件配合使用
element plus 表各组件怎样和分页组件配合使用
117 0
|
JSON JavaScript 前端开发
VUE element-ui之table表格前端自动过滤(筛选),不调用数据接口筛选表格,方法
VUE element-ui之table表格前端自动过滤(筛选),不调用数据接口筛选表格,方法
1158 0
VUE element-ui之table表格前端自动过滤(筛选),不调用数据接口筛选表格,方法
|
JavaScript
VUE element-ui之table表格全局排序、调用后端接口排序功能
VUE element-ui之table表格全局排序、调用后端接口排序功能
1510 0
|
容器
Echarts实战案例代码(30):同一个id空间Tab按钮显示不同图表防止叠加的解决方案
Echarts实战案例代码(30):同一个id空间Tab按钮显示不同图表防止叠加的解决方案
104 0
|
JavaScript 前端开发
vue的组件化的理解之单独拆分的组件&组件的封装(以el-table组件的二次封装举例)
vue的组件化的理解之单独拆分的组件&组件的封装(以el-table组件的二次封装举例)
285 0