实操《深入浅出React和Redux》第四期--react-redux
来源:互联网 发布:js窗口加载事件 编辑:程序博客网 时间:2024/06/05 14:09
入到第四期,
代码大大简化,
但如果没有前面的演化过程,
一定让人蒙圈~~
三个主要文件:
index.js
import React from 'react';import ReactDOM from 'react-dom';import {Provider} from 'react-redux';import './index.css';import ControlPanel from './views/ControlPanel';import store from './Store';import registerServiceWorker from './registerServiceWorker';ReactDOM.render(<Provider store={store}><ControlPanel /></Provider>, document.getElementById('root'));registerServiceWorker();
Counter.js
import React, { Component } from 'react';import PropTypes from 'prop-types';import {connect} from 'react-redux';import * as Actions from '../Actions.js';const buttonStyle = {margin: '10px'};const propTypes = {caption: PropTypes.string.isRequired};function Counter({caption, onIncrement, onDecrement, value}){return (<div><button style={buttonStyle} onClick={onIncrement}>+</button><button style={buttonStyle} onClick={onDecrement}>-</button><span> { caption } count: {value}</span></div>);}Counter.propTypes = {caption: PropTypes.string.isRequired,onIncrement: PropTypes.func.isRequired,onDecrement: PropTypes.func.isRequired,value: PropTypes.number.isRequired};function mapStateToProps(state, ownProps) {return {value: state[ownProps.caption]}}function mapDispatchToProps(dispatch, ownProps) {return {onIncrement: () => {dispatch(Actions.increment(ownProps.caption));},onDecrement: () => {dispatch(Actions.decrement(ownProps.caption));}}}export default connect(mapStateToProps, mapDispatchToProps)(Counter);
Summary.js
import React, {Component} from 'react';import PropTypes from 'prop-types';import {connect} from 'react-redux';function Summary ({value}) {return (<div>Total Count: {value}</div>);}Summary.propTypes = {value: PropTypes.number.isRequired};function mapStateToProps(state){let sum = 0;for (const key in state) {if (state.hasOwnProperty(key)) {sum += state[key];}}return {value: sum};}export default connect(mapStateToProps)(Summary);
阅读全文
0 0
- 实操《深入浅出React和Redux》第四期--react-redux
- 实操《深入浅出React和Redux》第三期—Redux
- 实操《深入浅出React和Redux》第一期
- 实操《深入浅出React和Redux》第二期—Flux
- react+redux+react-redux
- React和Redux的连接react-redux
- React和Redux的连接react-redux
- React和Redux的连接react-redux
- React和Redux的连接react-redux
- React和Redux的连接react-redux
- React和Redux的连接react-redux
- React和Redux的连接react-redux
- react知识小结——深入浅出React和Redux
- Redux和React
- 深入浅出React之第四章:推荐的Redux目录结构
- redux react-redux
- Redux(三: React-Redux)
- react-redux
- 微信公众平台开发的部分知识
- 接收疗法
- Android 使用 7z 压缩字符串(工作总结)
- 第7章 函数
- label的click()事件执行两次
- 实操《深入浅出React和Redux》第四期--react-redux
- 自定义CheckBox解决label点击事件触发两次问题
- shell脚本实现离线自动化安装superset2.0
- iOS物理碰撞、唱吧音频处理、仿淘宝联动效果等源码
- MySQL的绑定变量
- Activity的四种启动模式
- HTML 获取屏幕、浏览器、页面的高度宽度
- Flask 学习文档
- 4-13 Python从入门到核心