React-redux中connect原理

简介: React-redux中connect原理

原理图

(改图截自b站尚硅谷up)

用法介绍

1.常用参数详解connect([mapStateToProps],[mapDispatchToProps])

a.mapStateToProps该函数允许我们将store中数据作为props绑定到组件上

const mapStateToProps = (state) => {
  return {
    count: state.count
  }
}
//获取方式
this.props.count

b.mapDispatchToProps该函数用来将 action 作为 props 绑定到组件上

/*
    mapStateToProps函数返回的是一个对象
    返回的对象中key作为传递ui组件的props的key,value作为传递给ui组件props的value
    mapStateToProps用于传递方法
*/
function mapDispatchToProps(dispatch){
    return {
        jia:number=>dispatch(createIncrement(number)),
        jian:number=>dispatch(createDecrement(number)),
        syncjia:number=>dispatch(createAsyncIncrement(number,500))
    }
}
// 使用connect()()创建并暴露一个count容器组件
export default connect(mapStateToProps,mapDispatchToProps)(CountUI)

原理解析

首先connect之所以会成功,是因为Provider组件,在原应用组件上包裹一层,使原来整个应用成为Provider的子组件,接收Redux的store作为props,通过context对象传递给子孙组件上的connect

Connect做了什么

它真正连接 Redux 和 React,它包在我们的容器组件的外一层,它接收上面 Provider 提供的 store 里面的 state 和 dispatch,传给一个构造函数,返回一个对象,以属性形式传给我们的容器组件。

目录
相关文章
|
17天前
|
JSON 缓存 前端开发
【React】React原理面试题集锦
本文集合一些React的原理面试题,方便读者以后面试查漏补缺。作者给出自认为可以让面试官满意的简易答案,如果想要了解更深刻,可以点击链接查看对应的详细博文。在此对链接中的博文作者非常感谢🙏。
54 0
|
17天前
|
存储 资源调度 前端开发
React原理 即 React路由基础
React原理 即 React路由基础
55 1
|
17天前
|
前端开发 JavaScript 算法
react diff 原理
react diff 原理
|
17天前
|
存储 人工智能 开发框架
【AI大模型应用开发】【AutoGPT系列】0. AutoGPT概念及原理介绍 - Agent开发框架及ReAct方法
【AI大模型应用开发】【AutoGPT系列】0. AutoGPT概念及原理介绍 - Agent开发框架及ReAct方法
51 0
|
17天前
|
前端开发 JavaScript 算法
React原理
【4月更文挑战第4天】本文介绍了React的核心概念,包括jsx、React.createElement和fiber。jsx是React的语法糖,被转换为React.createElement生成虚拟DOM (vDOM)以优化性能。vDOM是轻量的数据结构,用于描述DOM状态。React通过fiber结构改进渲染性能,将同步任务拆分成小任务,利用requestIdleCallback在浏览器空闲时执行,确保流畅的用户体验。fiber是增强的vDOM,包含额外的引用指针。文章还提及了diff算法和hooks在React中的作用。
12 0
|
17天前
|
前端开发 JavaScript
前端框架React原理
前端框架React原理
38 0
|
17天前
|
前端开发 JavaScript API
介绍一下React Router的工作原理。
介绍一下React Router的工作原理。
38 5
|
17天前
|
前端开发
《深入理解前端框架React Hooks的原理与实践》
本文将深入探讨前端框架React中Hooks的原理及其实际应用,帮助读者更好地理解React Hooks的工作机制,并通过示例代码展示如何利用Hooks来提升前端开发效率和代码质量。
45 0
|
17天前
|
前端开发 开发者
React合成事件的原理是什么
React合成事件的原理是什么
58 0
|
17天前
|
前端开发 JavaScript
《Webpack5 核心原理与应用实践》学习笔记-> React全栈环境
《Webpack5 核心原理与应用实践》学习笔记-> React全栈环境
44 0