Skip to content

Instantly share code, notes, and snippets.

@renren89
Last active October 31, 2019 09:46
Show Gist options
  • Save renren89/c03ee352d75dad4a931d to your computer and use it in GitHub Desktop.
Save renren89/c03ee352d75dad4a931d to your computer and use it in GitHub Desktop.
import { render } from 'react-dom';
import React, { Component } from 'react';
import { createStore } from 'redux';
import { connect, Provider } from 'react-redux';
const reducer = (state = 0, action) => {
console.log('current state is ', state, 'and action is', action);
switch (action.type) {
case 'INCREASE':
return state + 1;
case 'DECREASE':
return state - 1;
default:
return state;
}
}
const store = createStore(reducer);
const incrementAction = () => {
return {
type: 'INCREASE'
}
}
const decrementAction = () => {
return {
type: 'DECREASE'
}
}
@connect((state) => {
return {
counter: state
}
})
class App extends Component {
render() {
const { counter, dispatch } = this.props;
return (
<div>
<span>{counter}</span>
<br />
<button onClick={() => dispatch(incrementAction())}>Increment</button>
<button onClick={() => dispatch(decrementAction())}>Decrement</button>
</div>
);
}
}
let rootElement = document.createElement('div');
document.body.appendChild(rootElement);
render (
<Provider
store={store}>
<App />
</Provider>, rootElement
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment