以下是redux官网上使用的connect用法:

class Container extends React.Component{...
}
const mapStateToProps = (state, ownProps) => {...
}const mapDispatchToProps = (dispatch, ownProps) => {...
}export default connect(mapStateToProps,mapDispatchToProps
)(Container)

我就不太喜欢这种表达方法,我的目标是将map方法放进Container中作为静态方法,直接使用Container就是connect后的组件。经过我的多番尝试,最终使用Decorator实现:

function connection(target){return connect(target.mapStoreToProps , target.mapDispatchToProps)(target);
}@connection
class Container extends React.Component{...static mapStateToProps(state , ownProps){...}static mapDispatchToProps (state , ownProps){...}
}export default Container ;

经过Decorator修饰的Container就可以使用redux中的数据了。

转载于:https://www.cnblogs.com/bykp/p/6607941.html

react+redux使用static mapStoreToProps相关推荐

  1. 基于 react, redux 最佳实践构建的 2048

    前段时间 React license 的问题闹的沸沸扬扬,搞得 React 社区人心惶惶,好在最终 React 团队听取了社区意见把 license 换成了 MIT.不管 React license ...

  2. 我的第一个 react redux demo

    最近学习react redux,先前看过了几本书和一些博客之类的,感觉还不错,比如<深入浅出react和redux>,<React全栈++Redux+Flux+webpack+Bab ...

  3. react开发插件-ES7 React/Redux/GraphQL/React-Native snippets

    内容目录 ES7 React/Redux/GraphQL/React-Native snippets 插件 Basic Methods React React Native Redux PropTyp ...

  4. React Redux 与胖虎他妈

    本文将涉及以下三块内容: 多 Reducer 中间件 封装组件方便获取 Store 前言 在上一篇文章<React Redux与胖虎> 中我们详尽地介绍了 React Redux,也写了一 ...

  5. React+Redux开发实录(一)搭建工程脚手架

    React+Redux开发实录(一)搭建工程脚手架 React+Redux开发实录(二)React技术栈一览 搭建工程脚手架 准备工作 安装node 安装git 安装一款前端IDE 推荐VSCode, ...

  6. React Redux 的一些基本知识点

    一.React.createClass 跟 React.Component 的区别在于后者使用了ES6的语法,用constructor构造器来构造默认的属性和状态. 1. React.createCl ...

  7. 【视频】React redux toolkit创建状态切片

    React redux toolkit创建状态切片

  8. react实战项目_React实战之React+Redux实现一个天气预报小项目

    引言 经过一段时间的React学习,React和Vue的开发确实有很大的不同,但是都是MVVM框架,因此上手没有很大的难度,这次用React+Redux开发一个天气预报小项目.源码地址:https:/ ...

  9. React+Redux仿Web追书神器

    引言 由于 10 月份做的 React Native 项目没有使用到 Redux 等库,写了一段时间想深入学习 React,有个想法想做个 demo 练手下,那时候其实还没想好要做哪一个类型的,也看了 ...

最新文章

  1. plt生成固定的colormap_白话生成对抗网络GAN及代码实现
  2. .net 2005大写html标签 xhtml10,HTML10.ppt
  3. LeetCode (73): Set Matrix Zeroes
  4. SpringCloud config 配置中心介绍与基本配置使用
  5. .NET (二)委托第二讲:内置委托Func
  6. QT出现 Cannot create children for a parent that is in a different thread 的解决方法:
  7. 【实用】常用JS验证函数大全
  8. 一位区域销售经理百条经验手记
  9. 数据库中主键、超键、候选键、外键是什么?
  10. 支持向量机的特点,优点缺点
  11. php获取这星期几,php如何获取星期几
  12. 3dsmax启动闪退的解决方法
  13. 提高你的记忆力:记忆宫殿法
  14. 枯燥的寒假生活(一) python爬虫模拟登录whu老教务系统获取期末考试成绩(已失效 , 老教务系统增加了新的反爬, 老教务系统已停用)
  15. html ico 图片 无效,设置favicon.ico manifest.json无效
  16. 青少年CTF-弱口令实验室招新赛部分wp复现步骤
  17. 智能车浅谈——方向控制篇
  18. MySQL时间戳与时间格式的转换
  19. Sublime Text正确的打开方式
  20. php 判断是否是机器人,PHP_php实现判断访问来路是否为搜索引擎机器人的方法,本文实例讲述了php实现判断访 - phpStudy...

热门文章

  1. 请列举一下在jvm中哪些对象可以当作root对象?
  2. JVM 调优实战--常见的垃圾回收算法及垃圾收集器组合
  3. Linux下Poppler源码编译安装
  4. Qt智能指针--QScopedPointer
  5. C++设计模式--代理模式(Proxy)
  6. Linux 下 MediaWiki 的安装使用
  7. 基于Vue和axios的音乐播放器——悦听音乐效果展示及代码分享
  8. python递归详解_Python理解递归的方法总结
  9. OS / Linux / SIGKILL 和 SIGTERM、SIGINT
  10. anaconda打不开没反应_为什么账户总是有点击没对话?无非这2个原因