Redux

在这里插入图片描述
安装:npm install redux

store全局状态管理对象
创建store对象,(createStore)
let store=createStore(reducer)
关联reducer

reducer:修改数据
本质是一个方法,两个参数(preState修改前的数据,action)
导入state里面的值: from ‘./state’

state创建全局状态值
react:哪里修改
action:方法

使用:在组件中导入store 。
修改全局状态值
actioncreator提供action
Store.dispatch(action)
重新渲染组件
在这里插入图片描述
在这里插入图片描述

在JS语法中上下文:context (执行环境,作用域)全局上下文,全局作用域,
Context: 在react中:跨组件传递数据
(子组件都可以访问父组件的上下文)

类型检测插件:prop-types

高阶组件封装redux高阶组件获取全局状态值,通过props传递给需要的组件
a,将store.getState()放在高阶组件上,将全局状态值通过props传递
b,将store.subscribe()放在高阶组件
connect
向全局注册store对象
context封装redux通过provider放在根组件的context上
在这里插入图片描述
在这里插入图片描述

1,挂载到根组件上下文上,
2,获取根组件的全局上下文
在这里插入图片描述

在这里插入图片描述
类型检测
在这里插入图片描述

react-redux

在这里插入图片描述
安装:npm install react-redux
在 index.js页面引入Provider,挂到App 的外面(包裹App)
引入store对象

哪里使用就在那个组件中使用 引入react-redux,
将目标组件,用connect高阶组件获取上下文内容,并将state值映射到props里。

connect的两个参数

1,mapStateToProps:将全局状态值,映射到当前组件的props,
本质是一个函数,返回一个对象,会将返回的对象映射到props里

2,mapDispathToProps
本质是一个函数,接受dipatch作为参数,返回一个对象(方法)。将对象里的内容映射到拍props

 import {bindActionCreators } from 'redux' 

bindActionCreators
作用:直接获取ActionCreator里所有的方法

简化redux的使用:
:全局状态管理的插件,必须和redux结合一块使用
封装原理:(基于context,hoc)

redux-thunk处理异步action插件,异步全局状态管理
安装:npm install redux-thunk
(redux-promise,redux-sage)
在这里插入图片描述

applyMiddleware中间件
使用:
异步操作只需要两步:
1,store里用异步中间件
2,改actionCreater方法
在这里插入图片描述

class类组件,有状态组件,影子组件,智能组件,
function函数组件,无状态组件,木偶组件,ui组件

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值