From 92cde8d21a60c00ca30670da20f3e3562ff2a280 Mon Sep 17 00:00:00 2001 From: "Rico Sta. Cruz" Date: Sun, 20 Sep 2015 06:38:36 +0800 Subject: [PATCH] redux: add --- redux.md | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 redux.md diff --git a/redux.md b/redux.md new file mode 100644 index 000000000..2b6f1225c --- /dev/null +++ b/redux.md @@ -0,0 +1,57 @@ +--- +title: Redux +--- + +### Stores + +```js +import { createStore } from 'redux'; + +function counter(state = 0, action) { + switch (action.type) { + case 'INCREMENT': + return state + 1; + case 'DECREMENT': + return state - 1; + default: + return state; + } +} +``` + +```js +let store = createStore(counter); + +store.subscribe(() => { ... }) +store.dispatch({ action }) +store.getState() +store.dispatch({ type: 'INCREMENT' }); // 1 +store.dispatch({ type: 'DECREMENT' }); // 10 +``` + +### React Redux + +```js +React.render( + + {() => } + , mountNode) +``` + +```js +class App extends React.Component { + render () { return
{this.props.message}
} +} + +function select (state) { + return { message: state.message } +} + +export default connect(select)(App); +``` + +## Reference + +* [Redux](https://www.npmjs.com/package/redux) +* [React-redux](https://www.npmjs.com/package/react-redux) +* [Usage with React](http://rackt.github.io/redux/docs/basics/UsageWithReact.html)