二刷Redux笔记
关于react的一些思考
所有的数据全部先要发送给容器,然后容器负责接受数据单后再分发数据给他下面的组件,通过props来传递,一个页面就可以相当于一个容器,容器之中就会有很多子组件,一般组件只负责接受容器的数据的渲染,容器来处理组件的状态
开始redux
redux主要是三个部分组成
- Action 在这里定义一些操作和操作需要的数据交流
- Reducer 这里需要定义数据,也就是state然后要根据不同action做出不同的操作
- Store 这个主要就是起到链接作用的
然后主要的数据流向是
在你的界面上发生事件然后传递到容器上,
容器负责链接上Action
然后Action把请求通过store找到reducers
在reducers上对数据进行处理
然后数据改变后reducers通过store找到绑定容器
在容器上对数据进行绑定
然后就可以在界面上显示出来了
Store
就一句话来链接容器和reducers
同时加上Provider组件
let store = createStore(testAPP);
ReactDOM.render((
<Provider store={store}>
<App/>
</Provider>
), document.getElementById('root'));
registerServiceWorker();
Action
类似于这种
每个action有一个type,然后后面是对应的交互的数据
export const addData = addDelta => {
return {
type: 'ADD_DATA',
addDelta//添加量
}
};
Reducer
在里面要定义state
然后写一个switch循环来判断不同的Action给出不同的操作
const initialState = {
data : 0
}
const test = (state = initialState, action)=>{
switch (action.type) {
case 'ADD_DATA':
console.log(state);
return {
data : state.data + action.addDelta
}
case 'SUBTRACT_DATA':
return {
data : state.data + action.addDelta
}
default:
return state;
}
};
export default test;
在容器中展示和触发
你在容器中使用redux的话需要绑定一下
export default connect(mapStateToProps,mapDispatchToProps)(Test)
mapStateToProps函数是绑定state里面的数据
mapDispatchToProps就是绑定一些方法方便触发
在组件中就直接通过props获取到
const mapStateToProps = state => ({
data: state
})
const mapDispatchToProps = dispatch => ({
test: id => dispatch(addData(id))
})
class Test2 extends Component {
render() {
const {data} = this.props;
return (
<div className="App">
<p className="App-intro">
<li><Link to='/test'>to test</Link></li>
this is test2------<span>{JSON.stringify(data)}</span>
<li><Link to='/'>to app</Link></li>
</p>
</div>
)
}
}
二刷Redux笔记的更多相关文章
- 《Data Structures and Algorithm Analysis in C》学习与刷题笔记
<Data Structures and Algorithm Analysis in C>学习与刷题笔记 为什么要学习DSAAC? 某个月黑风高的夜晚,下班的我走在黯淡无光.冷清无人的冲之 ...
- Python 刷题笔记
Python 刷题笔记 本文记录了我在使用python刷题的时候遇到的知识点. 目录 Python 刷题笔记 选择.填空题 基本输入输出 sys.stdin 与input 运行脚本时传入参数 Pyth ...
- PTA刷题笔记
PTA刷题记录 仓库地址: https://github.com/Haorical/Code/tree/master/PTA/GPLT 两周之内刷完GPLT L2和L3的题,持续更新,包括AK代码,坑 ...
- 毕业设计 之 二 PHP学习笔记(一)
毕业设计 之 二 PHP学习笔记(一) 作者:20135216 平台:windows10 软件:XAMPP,DreamWeaver 一.环境搭建 1.XAMPP下载安装 XAMPP是PHP.MySQL ...
- 【基于spark IM 的二次开发笔记】第一天 各种配置
[基于spark IM 的二次开发笔记]第一天 各种配置 http://juforg.iteye.com/blog/1870487 http://www.igniterealtime.org/down ...
- 《Linux内核设计与实现》 第一二章学习笔记
<Linux内核设计与实现> 第一二章学习笔记 第一章 Linux内核简介 1.1 Unix的历史 Unix的特点 Unix很简洁,所提供的系统调用都有很明确的设计目的. Unix中一切皆 ...
- 《Linux内核设计与实现》第一、二章学习笔记
<Linux内核设计与实现>第一.二章学习笔记 姓名:王玮怡 学号:20135116 第一章 Linux内核简介 一.关于Unix ——一个支持抢占式多任务.多线程.虚拟内存.换页.动态 ...
- phpcms二次开发笔记
phpcms二次开发笔记 --soulsjie 以下载的全新的phpcms搭建一个新的站点为例,讲解如何利用phpcms进行二次开发 一.下载和安装phpcms http://www.phpcms.c ...
- UWP入门(二) -- 基础笔记
原文:UWP入门(二) -- 基础笔记 不错的UWP入门视频,1092417123,欢迎交流 UWP-04 - What i XMAL? XAML - XML Syntax(语法) ,create i ...
随机推荐
- 图论--差分约束--POJ 3169 Layout(超级源汇建图)
Like everyone else, cows like to stand close to their friends when queuing for feed. FJ has N (2 < ...
- P1516 青蛙的约会和P2421 [NOI2002]荒岛野人
洛谷 P1516 青蛙的约会 . 算是手推了一次数论题,以前做的都是看题解,虽然这题很水而且还交了5次才过... 求解方程\(x+am\equiv y+an \pmod l\)中,\(a\)的最小整数 ...
- LeetCode 56,区间合并问题
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是LeetCode专题的第33篇文章,我们一起来看LeetCode的第56题,它的难度是Medium. 题意 这道题的题意也很简单,只有 ...
- 使用npm发布插件
使用npm发布插件 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 简介 npm是一个全球性的包管理工具,上面有着许许多多的前端 ...
- 【Spark】一起了解一下大数据必不可少的Spark吧!
目录 Spark概述 官网 Spark是什么? 特点 Spark架构模块 主要架构模块 Spark Core Spark SQL Spark Streaming MLlib GraghX 集群管理器 ...
- clang8.0及以上编译rocks问题
升级了MacOS 10.15 Beta版,结果编译 CockroachDB 遇到了问题. [ %] Building CXX object CMakeFiles/rocksdb.dir/db/buil ...
- 使用Optional,不再头疼NPE
前言 在 Java 语言开发中,可能大多数程序员遇到最多的异常就是 NullPointException 空指针异常了.这个当初语言的开发者"仅仅因为这样实现起来更容易"而允许空引 ...
- Jmeter-Throughput Controller 吞吐量控制器
比如在压测是时候,我设置了100个线程组,循环2次,那么我想根据吞吐量进行并发请求,这时候可以用到这个吞吐量控制器 PercentExecutions:按执行次数的百分比来计算执行次数,Through ...
- YOLOV4在linux下训练自己数据集(亲测成功)
最近推出了yolo-v4我也准备试着跑跑实验看看效果,看看大神的最新操作 这里不做打标签工作和配置cuda工作,需要的可以分别百度搜索 VOC格式数据集制作,cuda和cudnn配置 我们直接利用 ...
- kubernetes部署redis主从高可用集群
1.redis主从高可用集群结构 2.k8s部署有状态的服务选择 对于K8S集群有状态的服务,我们可以选择deployment和statefulset statefulset service& ...