博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于react-redux中的connect函数
阅读量:5098 次
发布时间:2019-06-13

本文共 1117 字,大约阅读时间需要 3 分钟。

示例代码

1 'use strict'; 2 import React from 'react'; 3  4 import { 5     connect 6 } from 'react-redux'; 7 class demo extends React.Component { 8     constructor(props) { 9         super(props);10         this.state = {11 12         }13 14     }15 16     render() {17 18         return (19             
20 21
22 )23 }24 }25 export default connect(state => {26 return {27 demo: state.demo28 }29 })(demo);

作用

  连接React组件与 Redux store ,允许我们将 store 中的数据作为 props 绑定到组件上。

使用

1 const App = () => {2   return (3     
4
5
6 )7 };
  • Provider 内的任何一个组件(比如这里的 demo),如果需要使用 state 中的数据,就必须是「被 connect 过的」组件——使用 connect 方法对「你编写的组件(MyComp)」进行包装后的产物

 

export default connect(state => {    return {        demo: state.demo    }})(demo);
  • connect 函数可以将redux的小状态机单独传入react组件(即只传入你需要的部分),不必把state全部传入,如上面示例中就只传入了state.demo.
  • 当readux里面相应的值改变时,connect会重新调用,生成新的props,这样react组件接受新的props,就会重新渲染。

原理

connect之所以会成功,是因为Provider组件:

  • 在原应用组件上包裹一层,使原来整个应用成为Provider的子组件
  • 接收Redux的store作为props,通过context对象传递给子孙组件上的connect

转载于:https://www.cnblogs.com/liyuanqing/p/7505247.html

你可能感兴趣的文章
操作~拷贝clone()
查看>>
Java开发中的23种设计模式
查看>>
jQuery源码分析(2) - 为什么不用new jQuery而是用$()
查看>>
[转]【EL表达式】11个内置对象(用的少) & EL执行表达式
查看>>
ArrayList对象声明& arrayList.size()
查看>>
并发编程 线程
查看>>
Mysql 解压安装
查看>>
Mysql
查看>>
前端html
查看>>
网络编程
查看>>
关于“设计模式”和“设计程序语言”的一些闲话
查看>>
(一二九)获取文件的MineType、利用SSZipArchive进行压缩解压
查看>>
python学习4 常用内置模块
查看>>
Window7上搭建symfony开发环境(PEAR)
查看>>
ResolveUrl的用法
查看>>
Linux内核态、用户态简介与IntelCPU特权级别--Ring0-3
查看>>
第23月第24天 git命令 .git-credentials git rm --cached git stash clear
查看>>
java SE :标准输入/输出
查看>>
一些方便系统诊断的bash函数
查看>>
【转载】基于vw等viewport视区相对单位的响应式排版和布局
查看>>