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

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

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

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


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


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

function CmtItem(props) {…}

//使用 class 关键字,定义父组件

class Cmtlist extends React.Component{}

两个组件都已经写在了入口文件中,接下来要想办法把这两个组件抽离出去。

对于 function

components 文件下新建一个 CmtItem.jsx 将代码完整的放到里面:

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

function CmtItem(props){

return <div>

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

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

</div>

}

它是一个组件,必须依赖 import React from react

文件有自己的独立作用域,外界访问不到,创建 export default

对于 Class

在首页中 CmtList 中用到了 Item 项,就要先导入过来:

//导入评论项子组件

import CmtItem from './ components/CmtItem'

保存。

然后将

//使用 class 关键字,定义父组件

cLass CmtList extends React.Component { }

也抽离出去。

components 目录新建 CmtList.jsx 将代码完成带入:

class CmtList extends React.Component {

iconstructor() {

super()

this.state = {

CommentList: [l/评论列表数据

{ id: 1, user:‘张三' ,content:‘哈哈,沙发’}

{ id: 2, user: ‘李四',content: ‘哈哈,板凳’}

{ id: 3, user: '王五', content:‘哈哈,凉席’}

{ id: 4,user:'赵六' , content:‘哈哈,砖头’}

{ id: 5,user:'田七', content:‘哈哈,楼下山炮’}

]

}

image.png

这里也需要依赖 import React from 'react' ,外界访问不到也需要 export default

因为代码中会用到 CmtItem,所以需要先导入:

//导入评论项子组件

import CmtItem from ./ components/CmtItem '

cmtlist.jsx 中需要访问 cmtitem,现在 cmtlist.jsx cmtitem.jsx 是平级的,所以路径需要改为:

import CmtItem from './CmtItem'

相关文章
|
15天前
|
JavaScript 数据管理 虚拟化
ArkTS List组件基础:掌握列表渲染与动态数据管理
在HarmonyOS应用开发中,ArkTS的List组件是构建动态列表视图的核心。本文深入探讨了List组件的基础,包括数据展示、性能优化和用户交互,以及如何在实际开发中应用这些知识,提升开发效率和应用性能。通过定义数据源、渲染列表项和动态数据管理,结合虚拟化列表和条件渲染等技术,帮助开发者构建高效、响应式的用户界面。
146 2
|
2月前
|
前端开发 JavaScript UED
react或者vue更改用户所属组,将页面所有数据进行替换(解决问题思路)____一个按钮使得页面所有接口重新请求
在React或Vue中,若需在更改用户所属组后更新页面所有数据但不刷新整个页面,可以通过改变路由出口的key值来实现。在用户切换组成功后,更新key值,这会触发React或Vue重新渲染路由出口下的所有组件,从而请求新的数据。这种方法避免了使用`window.location.reload()`导致的页面闪烁,提供了更流畅的用户体验。
54 1
react或者vue更改用户所属组,将页面所有数据进行替换(解决问题思路)____一个按钮使得页面所有接口重新请求
|
4月前
|
开发框架 JavaScript 前端开发
基于Vue的工作流项目模块中,使用动态组件的方式统一呈现不同表单数据的处理方式
基于Vue的工作流项目模块中,使用动态组件的方式统一呈现不同表单数据的处理方式
|
4月前
uniapp实战 —— 轮播图【自定义指示点】(含组件封装,自动注册全局组件,添加全局组件类型声明)
uniapp实战 —— 轮播图【自定义指示点】(含组件封装,自动注册全局组件,添加全局组件类型声明)
236 1
|
4月前
|
前端开发 JavaScript 索引
uniapp的u-album组件自定义删除功能
这样,你就可以在u-album组件中实现自定义的删除功能了。需要注意的是,这个删除操作只是在前端删除了图片项,并没有在后端删除对应的图片文件,如果你需要在后端也删除对应的图片文件,你还需要在删除操作后发送一个请求到后端,让后端删除对应的图片文件。
114 0
|
6月前
|
JavaScript
vue列表信息展示中新增数据,与编辑数据页面复用,降低重复代码
vue列表信息展示中新增数据,与编辑数据页面复用,降低重复代码
267 2
|
JavaScript 小程序 计算机视觉
记录一次小程序卡片组件封装的实战
来分析一下我这次所做项目的需求,首先重要的是卡片内部的布局需要卡片组件需要应用在两个场景下,每个场景的部分文本内容有区别,所以需要进行文本控制,而又要考虑到文本长度的问题,所以需要对文本内容进行一些处理,整理一下得出以下三个点
187 0
记录一次小程序卡片组件封装的实战
|
JavaScript 开发者
组件-创建组件的方式1|学习笔记
快速学习组件-创建组件的方式1
组件-创建组件的方式1|学习笔记
|
JavaScript 开发者
组件-创建组件的方式3|学习笔记
快速学习组件-创建组件的方式3
组件-创建组件的方式3|学习笔记
|
前端开发 开发者
评论列表案例-创建 CmtList 组件并渲染基本页面结构|学习笔记
快速学习评论列表案例-创建 CmtList 组件并渲染基本页面结构
146 0
评论列表案例-创建 CmtList 组件并渲染基本页面结构|学习笔记