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

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

开发者学堂课程【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'

相关文章
|
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月前
|
开发框架 JavaScript 前端开发
基于Vue的工作流项目模块中,使用动态组件的方式统一呈现不同表单数据的处理方式
基于Vue的工作流项目模块中,使用动态组件的方式统一呈现不同表单数据的处理方式
|
6月前
uniapp实战 —— 轮播图【自定义指示点】(含组件封装,自动注册全局组件,添加全局组件类型声明)
uniapp实战 —— 轮播图【自定义指示点】(含组件封装,自动注册全局组件,添加全局组件类型声明)
359 1
|
7月前
|
JavaScript
vue父子组件传值,父组件内容更新子组件内容不实时更新
vue父子组件传值,父组件内容更新子组件内容不实时更新
2491 0
|
8月前
|
JavaScript
vue列表信息展示中新增数据,与编辑数据页面复用,降低重复代码
vue列表信息展示中新增数据,与编辑数据页面复用,降低重复代码
296 2
【Vue3 第十三章】动态组件 & 递归组件 & 组件别名
【Vue3 第十三章】动态组件 & 递归组件 & 组件别名
264 0
|
JavaScript 小程序 计算机视觉
记录一次小程序卡片组件封装的实战
来分析一下我这次所做项目的需求,首先重要的是卡片内部的布局需要卡片组件需要应用在两个场景下,每个场景的部分文本内容有区别,所以需要进行文本控制,而又要考虑到文本长度的问题,所以需要对文本内容进行一些处理,整理一下得出以下三个点
195 0
记录一次小程序卡片组件封装的实战
|
JavaScript 开发者
组件-创建组件的方式3|学习笔记
快速学习组件-创建组件的方式3
组件-创建组件的方式3|学习笔记
|
JavaScript 开发者
组件-创建组件的方式1|学习笔记
快速学习组件-创建组件的方式1
组件-创建组件的方式1|学习笔记