Skip to content

Instantly share code, notes, and snippets.

@limweb
Forked from namelos/minCounter.js
Created February 19, 2016 10:58
Show Gist options
  • Save limweb/600182148592727e8f86 to your computer and use it in GitHub Desktop.
Save limweb/600182148592727e8f86 to your computer and use it in GitHub Desktop.
Minimalist redux example
import React, { Component } from 'react'
import { render } from 'react-dom'
import { createStore, bindActionCreators } from 'redux'
import { connect, Provider } from 'react-redux'
const increment = () => ({ type: 'increment' })
const counter = (state = 0, action) => {
switch (action.type) {
case 'increment':
return state + 1
default:
return state
}
}
const store = createStore(counter)
const mapState = counter => ({ counter })
const mapDispatch = dispatch => bindActionCreators({ increment }, dispatch)
@connect(mapState, mapDispatch)
class Counter extends Component {
render = () => <h1 onClick={ this.props.increment }>
{ this.props.counter }
</h1>
}
render(
<Provider store={ store }>
<Counter />
</Provider>,
document.getElementById('root'))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment