react-redux
发布时间:2020-12-15 05:13:55 所属栏目:百科 来源:网络整理
导读:import React,{ Component,PropTypes } from 'react'import ReactDOM from 'react-dom'import { createStore } from 'redux'import { Provider,connect } from 'react-redux'// React componentclass CounterC extends Component { render() { const { value
import React,{ Component,PropTypes } from 'react' import ReactDOM from 'react-dom' import { createStore } from 'redux' import { Provider,connect } from 'react-redux' // React component class CounterC extends Component { render() { const { value,onIncreaseClick } = this.props return ( <div> <span>{value}</span> <button onClick={onIncreaseClick}>Increase</button> </div> ) } } Counter.propTypes = { value: PropTypes.number.isRequired,onIncreaseClick: PropTypes.func.isRequired } // Action const increaseAction = { type: 'increase' } // Reducer function counter(state = { count: 0 },action) { const count = state.count switch (action.type) { case 'increase': return { count: count + 1 } default: return state } } // Store const store = createStore(counter) // Map Redux state to component props function mapStateToProps(state) { return { value: state.count } } // Map Redux actions to component props function mapDispatchToProps(dispatch) { return { onIncreaseClick: () => dispatch(increaseAction) } } // Connected Component const App = connect( mapStateToProps,mapDispatchToProps )(CounterC) ReactDOM.render( <Provider store={store}> <App /> </Provider>,document.getElementById('root') ) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |