Source code Github location:
https://github.com/howareyoucolin/React-Redux-Counter
Reducer
const initialState = {
	count: 10
};
function rootReducer(state = initialState, action) {
	if(action.type == 'INCREASE_COUNT'){
		return {
			...state,
			count: (state.count + 1) > 20 ? 20 : state.count + 1
		}
	}
	else if(action.type == 'DECREASE_COUNT'){
		return {
			...state,
			count: (state.count - 1) < 0 ? 0 : state.count - 1
		}
	}
	return state;
};
export default rootReducer;
mapStateToProps 例子:
import React from 'react';
import ReactDOM from 'react-dom';
import { connect } from 'react-redux';
//Import scss
import './scss/screen.scss';
//Component A
class Screen extends React.Component {
	render() {
		return (
			<div className="screen">
				{ this.props.count }
			</div>
		)
	}
};
const mapStateToProps = (state) => {
	return { count: state.count };
};
export default connect(mapStateToProps)(Screen);
mapDispatchToProps 例子:
import React from 'react';
import ReactDOM from 'react-dom';
import { connect } from 'react-redux';
//Import scss
import './scss/btn.scss';
//Component A
class Btn extends React.Component {
	
	clickHandler = () => {
		if(this.props.sign == '+') this.props.increment();
		if(this.props.sign == '-') this.props.decrement();
	}
	
	render() {
		return (
			<div className="btnWrap">
				<button onClick={this.clickHandler}> {this.props.children} </button>
			</div>
		)
	}
};
const mapDispatchToProps = (dispatch) => {
	return {
		increment:() => {
			dispatch({type:'INCREASE_COUNT'});
		},
		decrement:() => {
			dispatch({type:'DECREASE_COUNT'});
		}
	}
}
export default connect(null,mapDispatchToProps)(Btn);
Counter 作用展示:
由369usa学生陈小弟所编写.
 
					
 
				 
				 
				 
				


