redux 最简例子
方便初学redux的同学学习,这里是最简单的redux例子
 1 import React, {Component, PropTypes} from 'react'
 2 import ReactDOM from 'react-dom'
 3 import {createStore} from 'redux'
 4 import {Provider, connect} from 'react-redux'
 5
 6 // React组件
 7 class Counter extends Component {
 8     render() {
 9         const {value, onIncreaseClick} = this.props
10         return (
11             <div>
12                 <span>{value}</span>
13                 <button onClick = {onIncreaseClick}> Increase </button></div>
14         )
15     }
16 }
17
18 // Props
19 Counter.propTypes = {
20     value: PropTypes.number.isRequired,
21     onIncreaseClick: PropTypes.func.isRequired
22 }
23
24 // Action
25 const increaseAction = {
26     type: 'increase'
27 }
28
29 // Reducer
30 function counter(state = {
31     count: 0
32 }, action) {
33     let count = state.count
34     switch (action.type) {
35         case 'increase':
36             return {
37                 count: count + 1
38             }
39         default:
40             return state
41     }
42 }
43
44 // Store
45 let store = createStore(counter)
46
47 // 把state转换成props,在组件中接收使用
48 function mapStateToProps(state) {
49     return {
50         value: state.count
51     }
52 }
53
54 // 把action对应的方法转换成props,在组件中接收使用
55 function mapDispatchToProps(dispatch) {
56     return {
57         onIncreaseClick: () => dispatch(increaseAction)
58     }
59 }
60
61 // connected Component
62 let App = connect(
63     mapStateToProps,
64     mapDispatchToProps
65 )(Counter)
66
67 ReactDOM.render(
68     <Provider store={store}>
69         <App />
70     </Provider>,
71     document.getElementById('root')
72 )
 
redux 最简例子的更多相关文章
- react-router + redux  + react-redux 的例子与分析
		一个 react-router + redux + react-redux 的例子与分析 index.js import React from 'react' import ReactDom fr ... 
- 拥抱Node.js 8.0,N-API入门极简例子
		本文摘录自<Nodejs学习笔记>,更多章节及更新,请访问 github主页地址.欢迎加群交流,群号 197339705. N-API简介 Node.js 8.0 在2017年6月份发布, ... 
- 发布Rest风格的WebService的SpringBoot极简例子
		JDK:1.8.0_212 IDE:STS4(Spring Tool Suit4 Version: 4.3.2.RELEASE) 工程下载:https://files.cnblogs.com/file ... 
- Redux系列01:从一个简单例子了解action、store、reducer
		其实,redux的核心概念就是store.action.reducer,从调用关系来看如下所示 store.dispatch(action) --> reducer(state, action) ... 
- redux核心思路和代码解析
		最近在公司内部培训的时候,发现很多小伙伴只是会用redux.react-redux.redux-thunk的api,对于其中的实现原理和数据真正的流向不是特别的清楚,知其然,也要知其所以然,其实red ... 
- redux 入门
		背景: 在react中使用redux 重点:不要滥用redux,如果你的页面非常简单,没有 那么多的互动,那么就不要使用redux,反而会增加项目的复杂性. 如果你有以下情况,则可以考虑使用redux ... 
- redux+react-redux+示例的快速上手体验
		刚学习redux的同学提供一些可供参考的例子. 之前用vue用了很久 vue的语法糖用起来是真的舒服 react 其实毕竟他们都是类似的框架, 虽然语法大不同, 但是有些地方的思想还是很像的, 废话 ... 
- Redux和React-Redux的实现(一):Redux的实现和context
		react使用redux做状态管理,实现多个组件之间的信息共享,解决了父子组件.兄弟组件之间的复杂通信问题.vue有vuex,总之是一种flux的思想.react提供了react-redux这个库,一 ... 
- [笔记] Delphi使用DUnitX做单元测试的简单例子
		Delphi XE 提供了对DUnitX的支持,记录一个最简例子. 首先创建项目A,然后创建单元untCalc,代码如下: unit untCalc; interface type TCalc = c ... 
随机推荐
- 快速搭建fabric-v1.1.0的chaincode开发环境
			本文参考了fabric官方文档:http://hyperledger-fabric.readthedocs.io/en/latest/peer-chaincode-devmode.html?highl ... 
- Linux知识积累(1)awk的使用方法
			参见:http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858470.html 简介 awk是一个强大的文本分析工具,相对于grep的查找,se ... 
- Docker学习笔记 - Docker容器与外部网络的连接
			学习目的: ip_forward 包过滤防护墙 iptables 允许端口映射访问 限制ip访问容器 1.ip_forward 控制系统是否会转发流量 检查linux系统转发是否开启命令:sysctl ... 
- Linux实战案例(5)关闭Centos的防火墙
			1.检查防火墙的状态 [root@LxfN1 ~]# service iptables status表格:filterChain INPUT (policy ACCEPT)num target pro ... 
- SQL Server数据库优化的10多种方法
			巧妙优化sql server数据库的几种方法,在实际操作中导致查询速度慢的原因有很多,其中最为常见有以下的几种:没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷). I/O吞吐量小, ... 
- Linux下安装Python3.x和第三方库
			如果本机安装了python2,尽量不要管他,使用python3运行python脚本就好,因为可能有程序依赖目前的python2环境, 比如yum!!!!! 不要动现有的python2环境! 不要动现有 ... 
- uvalive 5834 Genghis Khan The Conqueror
			题意: 给出一个图,边是有向的,现在给出一些边的变化的信息(权值大于原本的),问经过这些变换后,MST总权值的期望,假设每次变换的概率是相等的. 思路: 每次变换的概率相等,那么就是求算术平均. 首先 ... 
- POJ-3641 Pseudoprime numbers---快速幂
			题目链接: https://vjudge.net/problem/POJ-3641 题目大意: 问p是不是伪素数.伪素数条件:①p不是素数.② ap = a (mod p). 思路: 直接快速幂模板+ ... 
- PHP 通过fsockopen函数获取远程网页源码
			<?php $fp = fsockopen("www.baidu.com", 80, &$errno, &$errstr, 10); if(!$fp) { e ... 
- html5之一些通用属性
			dir属性:定义元素内容排序方式(rtl,ltr,auto)contentEditable属性:内容是否可编辑tabindex属性:按tab键激活元素 <!DOCTYPE html>< ... 
