评论列表案例-将评论 Item 项抽离为单独的 CmtItem 组件|学习笔记

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

开发者学堂课程【React 入门与实战评论列表案例-将评论 Item 项抽离为单独的 CmtItem 组件】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/585/detail/8106


评论列表案例-将评论 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月前
|
缓存 JavaScript 前端开发
vue2基础组件通信案例练习:把案例Todo-list新增编辑按钮
vue2基础组件通信案例练习:把案例Todo-list新增编辑按钮
28 4
|
3月前
|
监控 JavaScript 开发者
在 Vue 中,子组件为何不可以修改父组件传递的 Prop,如果修改了,Vue 是如何监控到属性的修改并给出警告的
在 Vue 中,子组件不能直接修改父组件传递的 Prop,以确保数据流的单向性和可预测性。如果子组件尝试修改 Prop,Vue 会通过响应式系统检测到这一变化,并在控制台发出警告,提示开发者避免这种操作。
|
4月前
|
前端开发 JavaScript UED
react或者vue更改用户所属组,将页面所有数据进行替换(解决问题思路)____一个按钮使得页面所有接口重新请求
在React或Vue中,若需在更改用户所属组后更新页面所有数据但不刷新整个页面,可以通过改变路由出口的key值来实现。在用户切换组成功后,更新key值,这会触发React或Vue重新渲染路由出口下的所有组件,从而请求新的数据。这种方法避免了使用`window.location.reload()`导致的页面闪烁,提供了更流畅的用户体验。
62 1
react或者vue更改用户所属组,将页面所有数据进行替换(解决问题思路)____一个按钮使得页面所有接口重新请求
|
6月前
uniapp实战 —— 轮播图【自定义指示点】(含组件封装,自动注册全局组件,添加全局组件类型声明)
uniapp实战 —— 轮播图【自定义指示点】(含组件封装,自动注册全局组件,添加全局组件类型声明)
359 1
|
8月前
|
JavaScript
vue列表信息展示中新增数据,与编辑数据页面复用,降低重复代码
vue列表信息展示中新增数据,与编辑数据页面复用,降低重复代码
296 2
|
8月前
element plus 表各组件怎样和分页组件配合使用
element plus 表各组件怎样和分页组件配合使用
118 0
|
JavaScript 前端开发 数据可视化
列表封装-递归数据回显-全局数据挂载——基础积累
列表封装-递归数据回显-全局数据挂载——基础积累
110 0
|
JavaScript 前端开发 Java
Vue2(生命周期,列表排序,计算属性和监听器)(一)
Vue2(生命周期,列表排序,计算属性和监听器)
|
前端开发
Concis组件库封装——List列表
Concis组件库封装——List列表组件封装
115 1