41_redux_counter应用_react-redux版本
问题:
redux与react组件的代码耦合度太高
编码不够简洁
react-redux
1)是一个react插件库
下载:
npm install --save react-redux@5.0.6
(当前最新版本为7,6版本后的会报错)
React-Redux将所有的组件分为两类:
1)UI组件
只负责UI的成像,不带有业务逻辑
通过props接收数据(一般数据和函数)
不使用任何Redux的API
一般保存在components文件夹下
2)容器组件
负责管理数据和业务逻辑,不负责UI的呈现
使用Redux的API
一般保存在containers文件夹下
redux项目结构:
结构很固定,redux文件夹下面有action-types.js、actions.js、reducers.js、store.js
相关API:
1)Provider
让所有组件都可以得到state数据
<Provider store={store}>
<APP/>
</Provider>
2)connect() //关键
用于包装UI组件生成容器组件
import { connect } from 'react-redux'
connect(
mapStateToprops,
mapDispatchToProps
)(Counter)
3)mapStateToprops() //它是对象
将外部的数据(即state对象)转换为UI组件的标签属性
const mapStateToprops = function (state) {
return {
value:state
}
}
4)mapDispatchToProps
将分发action的函数转换为UI组件的标签属性
简洁语法可以直接指定为actions对象或包含多个action方法的对象
41_redux_counter应用_react-redux版本的更多相关文章
- react和redux版本不匹配
1.页面报错Cannot read property 'shape' of undefined 2. 原因为:react版本与react-redux版本不匹配. 1.package.json文件修改该 ...
- 使用Redux管理你的React应用
因为redux和react的版本更新的比较频繁,博客园这里用的redux版本是1.0.1,如果你关心最新版本的使用技巧,欢迎来我的Github查看(https://github.com/matthew ...
- Redux管理你的React应用
使用Redux管理你的React应用 因为redux和react的版本更新的比较频繁,博客园这里用的redux版本是1.0.1,如果你关心最新版本的使用技巧,欢迎来我的Github查看(https ...
- Redux源码分析之基本概念
Redux源码分析之基本概念 Redux源码分析之createStore Redux源码分析之bindActionCreators Redux源码分析之combineReducers Redux源码分 ...
- Redux源码学习笔记
https://github.com/reduxjs/redux 版本 4.0.0 先了解一下redux是怎么用的,此处摘抄自阮一峰老师的<Redux 入门教程> // Web 应用是一个 ...
- redux源码学习笔记 - createStore
本篇是学习redux源码的一些记录,学习的redux版本是^4.0.1. 在页面开发时,需要管理很多状态(state),比如服务器响应,缓存数据,UI状态等等···当页面的庞大时,状态就会变的混乱.r ...
- 带你逐行阅读redux源码
带你逐行阅读redux源码 redux版本:2019-7-17最新版:v4.0.4 git 地址:https://github.com/reduxjs/redux/tree/v4.0.4 redux目 ...
- 手把手教你撸一套Redux(Redux源码解读)
Redux 版本:3.7.2 Redux 是 JavaScript 状态容器,提供可预测化的状态管理. 说白了Redux就是一个数据存储工具,所以数据基础模型有get方法,set方法以及数据改变后通知 ...
- URIError: Failed to decode param '/%PUBLIC_URL%/favicon.ico'
今天搭建antd的项目结构,本来项目是一个基础react项目,结果执行 yarn create umi yarn yarn start 项目启动后访问突然报错URIError: Failed to d ...
- [修仙之路]React-Redux 金丹篇
作者:水涛追求技术,但又不失生活的乐趣,过自己想要的生活 React-Redux简介 React-Redux可以使你的React项目拥有全局数据,可以使多个React组件读取到全局数据并且组件中也可修 ...
随机推荐
- XML基础学习
XML 信息传输工具 标签未被预定义 具有自我描述性 W3C的推荐标准 XML HTML的差异 XML:传输 存储数据 HTML:显示数据 树结构 <root> <child> ...
- 用户id,组id和文件访问权限
实际用户ID和实际组ID:标示了我们究竟是谁,这两个字段在登录时取自口令文件中的登录项 有效用户ID和有效组ID以及附属组ID:决定了我们的文件的访问权限(通常有效用户ID等于实际用户ID,有效组ID ...
- 关于SVD
下面的公式是基于物品的计算: 我之所以要把粘出来,是因为这种计算模式是公式界常用的一种方式:体会一下,单个来讲SiN*Run / |Sin|,分子分母公约之后只剩下了Run了:但是公式记录的是一种和运 ...
- 二、易语言 api 相关
1. 取窗口句柄 对应的api: FindWindow (寻找顶级窗口) 2.取窗口矩形(位置) 对应的api: GetWindowRect(取窗口矩形) 3.取窗口标题 对应的api: Get ...
- Xshell5 提示要继续使用此程序,您必须应用最新的更新或使用新版本
Xshell5 提示要继续使用此程序,您必须应用最新的更新或使用新版本 目录 问题描述 修改系统时间 安装新版本 下载 安装 回到顶部 问题描述 今天上线一个服务,上完准备看下OPS的发布结果,就 ...
- Visual Studio Code 使用 Git插件报错 - Permission denied (publickey)
在使用GitHub的时候,为了避免每次输入用户名密码,都会使用SSH方式代替Https. 按网上教程,大多数使用SSH-KeyGen生成公私钥对,而后上传公钥至Github,并切换Repositori ...
- Chromium(Chrome) Sandbox Details
What Sandbox Do? Sandbox leverages the OS-provided security to allow code execution that cannot make ...
- Linux基础上
文件操作 ...
- go语言学习--string、int、int64互相转换,字符串的截取,数组和字符串的转换
下面总结了go中常用的转换 #string到int int,err:=strconv.Atoi(string) #string到int64 int64, err := strconv.ParseInt ...
- [UE4]Add Offset
在原来值的基础上增加偏移