Redux基本使用(Redux第二弹)

Redux基本使用(Redux第二弹)

提示:本人是自学前端的一枚小小程序媛,以下内容是自己总结的笔记,如有错误,欢迎大家批评指正!!!!


1.通过Input输入框体验Redux,输入框改变影响store里的值

  • 给input输入框绑定一个onChange事件,只要文本框内容一改变就会触发一个函数,并且定义这个函数,
    在这里插入图片描述

  • 建立action对象,(我们的目的是改变store里的值),对象里有两个属性,一个是type,相当于给action起名字,一个是value,是要传递到store里的值
    在这里插入图片描述

  • action建立好之后要想到store仓库中需要dispatch一下
    在这里插入图片描述

  • dispatch到仓库之后,仓库没有任何功能,就是一个仓库,只会接收到值,但是没有任何管理能力,就像一个收钱的人,但是不管钱,直接把这个action传递给了reducer,对应图中的第四步
    在这里插入图片描述

  • 这时在输入框输入值之后,我们在reducer中进行打印会发现,reducer里的state是默认定义的state,reducer里的action是我们传入的action,这就说明reducer接收到组件数据的改变了
    在这里插入图片描述

  • 接下来需要在reducer中进行判断,判断action的type和组件中定义的action的type是否相等,如果相等就证明是传递过来的action,需要注意的是在reducer中只能接收state,不能改变state,所以我们要把state进行深度拷贝,拷贝之后再把传递过来的action里的值赋给store中定义好的state里的值,
    在这里插入图片描述
    在这里插入图片描述

  • 处理完业务逻辑,把新的值返回给仓库了,return newState 对应步骤6

  • 返回仓库之后,需要在组件内部进行订阅,
    在这里插入图片描述
    在这里插入图片描述

  • 订阅的目的是把state里的值返回到组件内部


2.在input输入框输入一项,在列表增加该项,要求用redux实现

在这里插入图片描述

  • 步骤和上面几乎一样,我们在复习一下redux的基本使用

  • 给button组件添加点击事件,
    在这里插入图片描述

  • 在响应事件中定义action,必须写type属性,action定义之后要发送一个dispatch,
    在这里插入图片描述

  • dispatch之后就可以直接到reducer里进行处理了,切记不能改变state,所以需要拷贝之后在处理
    在这里插入图片描述

  • 返回仓库之后,需要在组件内部进行订阅,因为第一个问题我们已经订阅了,这里就可以不用再次订阅了,这样在页面点击增加,就会把input输入框内新输入的值添加到store中定义好的list中


3.点击列表项进行删除

  • 给每一个子项添加一个点击事件,

  • 定义方法,拿到数组下标,因为list有很多项,我们要具体删除某一项要拿到下标
    在这里插入图片描述

  • 定义action,通过store.dispatch传递到仓库直达reducer,

  • 在reducer中进行数据处理,先深拷贝数据,然后使用splice删除传递过来的数据,
    在这里插入图片描述

  • 最后一步别忘了在组件内部订阅一下

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值