为React移动端项目做支撑:redux、redux-thunk、react-redux(useDispath、useSelector)、redux-devtools-extension
1)redux单独使用
2)react-redux结合react项目进行使用
3)中间件react-thunk的基本使用
4)useDispatch、useSelector的基本使用
5)redux模块管理
6)redux-devtools-extension
1)概念:Redux是React中最流行的状态管理工具之一
2)起源:React只是DOM的一个抽象层(UI库),并不是Web应用的完整解决方案。因此react在涉及到数据的处理以及组件之间的通信时会比较
3)什么时候使用redux
4)为什么需要redux
集中的方式统一管理所有的共享数据
5)react 技术栈
1)目标:明确redux的状态管理流程
2)理解三个核心概念
核心概念:store、action、reducer
1.目标:了解redux的作用,并且完成安装
2.内容:
1)redux的作用
2)redux安装(在react项目中)
a.使用npm install redux来进行安装
b.创建action对象
<script src="node_modules/redux/dist/redux.mjs"></script>
<!-- redux -->
<script>
// redux中action的概念
// 1,action是一个动作或者行为的抽象
// 2.使用一个对象来表示一个action
// 3.每一个action有一个唯一的标识 type
// 4.action除了type之外,还可以有其他的属性,用来提供额外的数据
const action = {
type: 'ADD',
}
const sub = {
type: 'SUB',
}
// 添加任务
const action2 = {
type: 'ADD_TODO',
name: '吃饭',
}
// 删除任务
const action3 = {
type: 'DEL_TODO',
id: 5,
}
</script>
只要是固定的输入,必定得到固定的输出
1)不得改写参数
2)
数组解构
对象解构
对象解构是将对象属性和方法快速批量赋值给一系列变量的简洁语法
1)基本语法
2)给新的变量名赋值
可以从一个对象中提取变量并同时修改新的变量名
const { uname: username, age } = { uname: 'pink老师', age: 10 }
// console.log(uname)
console.log(username)
console.log(age)
const pig = [
{
uname: '佩奇',
age: 18,
},
]
const [{ uname, age }] = pig
1)有一个对象,const pig = {name: '佩奇', age:6}
结构为变量:完成对象解构,并以此打印出值
const pig = { name: '佩奇', age: 6 }
const { name, age } = pig
console.log(name)
console.log(age)
2)请将pig对象中的name,通过对象解构的形式改为uname,并打印输出
const pig = { name: '佩奇', age: 6 }
const { name: uname, age } = pig
console.log(uname)
3)请将数组对象,完成商品名和价格的解构
const [{ goodName, price }] = goods
console.log(goodName)
console.log(price)
???????React Redux | React Redux
2.