Redux 笔记整理

Redux

核心概念:storeactionreducer

  • store(斯道尔):仓库,存储了数据,管理者(一个项目只有一个仓库),管理 action 和 reducer
  • action:“专家”,只提想法不干活(动作)
  • reducer(瑞丢色儿):劳动者,搬砖的人

redux-action - 一个对象或者行为的抽象(要做的事情)【eg:点按钮+1 的事】

  • 包括2个属性:

    • type:标识属性,值为字符串,唯一,标识将来要执行的动作【必须】

    • data:数据属性,值类型任意,可选属性

      【id 为 ADD的action 要 +1 】

      const addNum = {
      	type:"ADD" ,
      	1
      }
      
  • 两种类型:

    • Object:同步action
    • function:异步action

readux-action create 用一个函数去动态创建action,dispatch是派发任务

const addNum = (count)=>{
	return{
		type:"ADD",
		count
	}
}
const addNum = (count)=>({ type:"ADD",count })
// 这个就可以加2了
dispatch(addNum(2))

redux-reducer- (做事情)必须是一个纯函数,用来处理action的逻辑

【纯函数: 返回新数据, 保证不改变原数据 】

state 需要有默认值,就是redux的初始值,内部需要判断action的type判断,但是处理的时候不能修改原数据,如果需要未声明的type.要返回原来的state

function reducer1(state = 0, action ){
	if(action.type === "ADD") {
		return state+1
	} else {
		return state
	}
}
const reducer1 = (state = 0, action) => {
  switch (action.type) {
    case 'ADD':
      // 返回新的state
      return state + 1
  }
  default:
    return state
}

redux-state - 数据存储(本质上是一个状态树,保存了所有对象的状态)

​ getState():得到state;

​ dispatch(action):分发action,触发reducer调用,产生新的state;

​ subscribe(listener):注册监听(订阅),当状态发生变化,就会执行(执行的方法自己写)。

//   创建store
const { createStore } = window.Redux
//   createStore(reducer函数,可选=>state初始值)
let store = createStore(reducer1)
// 打印初始状态
console.log(store.getState()) // {count: 1}
// 每次 state 更新时,打印日志
// subscribe() 订阅 返回一个函数用来注销监听器
const unsubscribe = store.subscribe(() => console.log(store.getState()))
// 发起一系列 action
store.dispatch(addNum(2))
store.dispatch(addNum(4))
// 停止监听 state 更新
unsubscribe();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
为了满足广大Android开发爱好者与从业者的学习需求,我们精心整理并上传了一份全面而实用的Android项目资源包。这份资源包内容丰富,涵盖了从基础知识到实战应用的全方位内容,旨在为开发者们提供一个便捷、高效的学习平台。 一、文件手册 资源包中的文件手册部分,详细记录了Android开发的核心知识点和常用技术。无论是初学者还是有一定经验的开发者,都能从中找到所需的学习资料。手册采用了简洁明了的排版方式,使得查阅更加方便快捷。同时,手册内容深入浅出,既适合新手入门,也能为老手提供有价值的参考。 二、项目实战与练习 为了让学习者能够将理论知识与实践相结合,我们特别准备了项目实战与练习部分。这部分内容包含了多个精心设计的Android项目案例,从需求分析、设计思路到实现过程,都有详细的讲解和代码示例。学习者可以通过实际操作,深入了解Android开发的整个流程,提升自己的实战能力。 此外,我们还提供了一系列练习题,旨在巩固所学知识,检验学习成果。这些练习题既有基础题,也有难度较高的挑战题,适合不同层次的学习者进行练习。 三、Android开发工具集 在Android开发过程中,选择合适的工具能够大大提高开发效率。因此,我们整理了常用的Android开发工具集,包括开发工具、测试工具、性能优化工具等。这些工具都是经过我们精心筛选和测试的,能够帮助开发者们更加高效地进行Android开发工作。 总的来说,这份Android项目资源包是一份不可多得的学习资料,无论你是初学者还是有一定经验的开发者,都能从中受益匪浅。我们希望通过这份资源包,为广大Android开发爱好者与从业者提供一个更加便捷、高效的学习平台,共同推动Android开发领域的发展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值