React系列实战篇(留言功能(三))

快来加入我们吧! "小和山的菜鸟们",为前端开发者提供技术相关资讯以及系列基础文章。为更好的用户体验,请您移至我们官网小和山的菜鸟们 ( https://xhs-rookies.com/ ) 进行学习,及时获取最新文章。
"Code tailor" ,如果您对我们文章感兴趣、或是想提一些建议,微信关注 “小和山的菜鸟们” 公众号,与我们取的联系,您也可以在微信上观看我们的文章。每一个建议或是赞同都是对我们极大的鼓励!
实战案例(三):留言功能改版 我们这次学了一些新内容,我们需要将之前的改版。
新增点赞功能
如果我们需要对某个评论进行点赞怎么办呢?
如果按照上次那样子通过某个属性传入控制是否显示点赞,这是可以的。
我们上次抽象了 InputCompoent 输入框组件和 EvaluateCompoent 列表展示组件这两个组件,这次我们需要新增一个 comment 组件来完成点赞功能。
不需要的组件去除
上次我们将 InputCompoent 输入框组件和 EvaluateCompoent 列表展示组件抽象出来放置于 component 文件夹中,我们先将这两个组件直接放置于App.js中。(为了直观,我们先这两个已经抽象好的给直接放置于 App.js 中)
我们只需要抽象一个comment组件,给上次的EvaluateCompoent列表展示组件加上我们的点赞功能,每个列表中的评论我们都可以进行点赞。
【React系列实战篇(留言功能(三))】因此我们将首页App.js修改为如下:

import React, { PureComponent } from 'react' import Comment from './comment' import './App.css'class App extends PureComponent { constructor() { super() this.state = { title: 'Hello React', desc: '你知道有这么一个团队吗?他们怀揣梦想,艰苦奋斗,作为一群大学生菜鸟,放弃了平时娱乐的时间,选择一起学习,一起成长,将平时学习的笔记,心得总结为文章,目的很简单,希望可以帮助向他们一样的菜鸟们?你想了解更多吗?快搜索微信公众号:小和山的菜鸟们,加入他们吧!', comments: [ { headPortrait: 'https://xhs-rookies.com/img/rookie-icon.png', time: new Date(2021, 4, 14, 21, 2, 30), nickName: '小菜鸟', detail: '这是一个即将推出系列文章的团队,我们一起期待他们的作品吧!', liked: true, likeNum: 23, }, ], text: '', } }render() { const { title, desc, comments, text } = this.state return ({title} {desc}评论
{comments.map((item, index) => { return ( { this.changeLike(index) }} {...item} /> ) })}React系列实战篇(留言功能(三))
文章图片