react&&redux&&react-redux

2017-12-10  本文已影响0人  xiaoaiai
create-react-app newRedux
import React from 'react'
import ReactDOM from 'react-dom'
import 'antd/dist/antd.css'
import { createStore } from 'redux'
import { Provider } from 'react-redux'
import App from './App'
import reducer from './reducer'

const store = createStore(
    reducer,
    window.devToolsExtension ? window.devToolsExtension() : f => f
)

ReactDOM.render(
    <Provider store={store}>
        <App />
    </Provider>,
root)
import React, { Component } from 'react'
import { Select, Button } from 'antd'
import { connect } from 'react-redux'
import { bindActionCreators } from 'redux'
import * as indexActin from './action'

const Option = Select.Option

class App extends Component {
  increment = () => {
    const { getIncrement } = this.props
    getIncrement()
  }
  render() {
    const { increment } = this.props
    return (
      <div>
        {increment}
        <Button onClick={this.increment}>btn</Button>
      </div>
    )
  }
}

const mapStateToProps = (state) => ({
  increment: state.increment
})
const mapDispatchToProps = (dispatch) => ({
  getIncrement: bindActionCreators(indexActin.increment, dispatch)
})

export default connect(mapStateToProps, mapDispatchToProps)(App)
export const INCREMENT = 'INCREMENT'

export function increment() {
  return {
    type: INCREMENT
  }
}
import { combineReducers } from 'redux'
import { INCREMENT } from '../action'

function increment(store=0, { type }) {
  switch (type) {
    case INCREMENT:
      return store + 1
    default:
      return store
  }
}

export default combineReducers({
  increment
})
上一篇 下一篇

猜你喜欢

热点阅读