评论列表案例-将评论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>)}

相关文章
|
3月前
|
前端开发
Antd中Table列表行默认包含修改及删除功能的封装
Antd中Table列表行默认包含修改及删除功能的封装
48 0
|
2月前
|
JavaScript
vue列表信息展示中新增数据,与编辑数据页面复用,降低重复代码
vue列表信息展示中新增数据,与编辑数据页面复用,降低重复代码
169 2
|
5月前
|
存储 JavaScript
vue列表新增存储假数据
vue列表新增存储假数据
27 0
|
5月前
|
JavaScript
Vue + Element UI 实现复制当前行数据功能(复制到新增页面组件值不能更新等问题解决)
# 1、需求 使用Vue + Element UI 实现在列表的操作栏新增一个复制按钮,复制当前行的数据可以打开新增弹窗后亦可以跳转到新增页面,本文实现为跳转到新增页面。 # 2、实现 ## 1)列表页 index.vue ```html <el-table> <!-- 其他列 --> <el-table-column label="操作" width="150"> <template slot-scope="scope"> <el-button icon="el-icon-copy-document" title="复制" @click="toCopyNew(scope
74 0
|
9月前
Vue2(生命周期,列表排序,计算属性和监听器)(二)
Vue2(生命周期,列表排序,计算属性和监听器)
|
9月前
|
JavaScript 前端开发 Java
Vue2(生命周期,列表排序,计算属性和监听器)(一)
Vue2(生命周期,列表排序,计算属性和监听器)
|
9月前
|
缓存 JavaScript
Vue2(生命周期,列表排序,计算属性和监听器)(四)
Vue2(生命周期,列表排序,计算属性和监听器)
|
9月前
|
JavaScript 索引
Vue2(生命周期,列表排序,计算属性和监听器)(三)
Vue2(生命周期,列表排序,计算属性和监听器)
|
JSON JavaScript 前端开发
VUE element-ui之table表格前端自动过滤(筛选),不调用数据接口筛选表格,方法
VUE element-ui之table表格前端自动过滤(筛选),不调用数据接口筛选表格,方法
588 0
VUE element-ui之table表格前端自动过滤(筛选),不调用数据接口筛选表格,方法
|
JavaScript
Vue 的每个列表项(item)是干什么的?底层原理是什么?
Vue 的每个列表项(item)是干什么的?底层原理是什么?
279 0