文章列表的显示 以及创建文章 还有文章详情的基本--react项目5

第一步:在render之前设置一个状态state  在点击我的文章按钮得时候绑定事件 执行一个函数进行如果Tab=1 样式为高亮     当点击喜欢文章得时候  tab为2   样式为高亮

进行高亮事件

第二步:在我默认一加载得时候需要默认显示我的文章

思路:

1:在mapdispatch  添加两个获取作者得文章还有获取作者喜欢得文章  参数为用户名username   默认获取第一页

2:在action里面写一下这两个action

3:在用户中心刚刚加载得时候也可以载DIdmount生命周期里面获取用户得文章this.props.getArticleByAuthor(username)

然后发送action  调用getFavorite方法里面在调用get request请求  然后reducer接收到action  进行批量查询我的文章以及喜欢得文章

上面得基础都是得先在按钮上绑定 this.props.getArticlesByAuthor(profile.username)    以及this.props.getArticlesByFavorite(profile.username)进行触发显示得

到现在能拿到回来得数据了

创建文章基本步骤:

1:from表单创建  有文章标题 文章描述  还有编辑文章 , 输入标签的框 和注册页面差不多

搭建一个基础的表单页面

注意 : 把输入标签需要绑定一个onKeyUp事件

2:创建reducer  关于单个文章的

设置初始标题  描述  内容  标签  ,标签数组,错误 

创建的单个文章的创建常量 Fileld   在reducer里面去应用返回新的值

因为每个描述都绑定一个事件  有这个事件  会生成一个action身上会有一个方法(例如更新文章,获取文章。。。的那种)然后一个对象    然后这个action返回去由dispatch  去发送action,进入到reducer里面去进行修改数据,最后然后通过value绑定的进行回显。、

到这  数据可以完好的输入了 

标签实现功能:输入标签 ,标签挂到文章上,并且再发布文章上点击小图标可以删除标签

1:现在就利用onkeyup属性绑定的this.watcherEnter事件

2:监听的这个事件keyCode属性当我点击回车的时候发现控制台输出是13所以 

进行判断如果keyCode==13  那么去处理  通过This.props.addTag去添加标签,同时addTag也需要在mapDispatch定义一下,在写一个相应得对应actions和相应得reducer, 

3:最后这样在reduce中返回新的数组const tags = state.tags.concat([state.tag])

这样就返回一个新数组了  可以在页面中取出tags  然后在输入标签下面进行遍历,展示出来

同时还可以在我遍历得tag上面写一个事件方便去删除

4:Bug描述:在进行添加标签得时候,没有考虑深拷贝问题,直接push把标签放里,直接return  state

执行事件,标签并没有进行显示。

解决思路:首先出现这个问题是因为我没有考虑到深拷贝得问题  initState【】是一个数组  tags又是一个数组  return 得还是原先的地址值 并没有进行一个深拷贝,

解决办法:用concat方法把新标签和原有标签进行合并,这样就返回一个新数组 然后进行return 覆盖

5:删除标签

在删除标签得图标上绑定一个remove Tag事件定义常量然后去action在去reduce,进行删除

6:创建文章

一套流程

7:进入文章 详情

在挂载的生命周期里面进行根据id获取文章

mapState中获取到文章里面的数值,还有登录的用户信息

头部展示文章的标题  作者名字  以及文章内容   其中还有评论

其中在头部信息还要封装一个button行为因为要是未登录应该展示喜欢   然后还可以定向到登录也页面

如果登录的是自己的那么就展示编辑 删除  如果是别人的就展示喜欢

大体是这样下一篇详细表达

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我叫LiLi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值