
import 'antd/dist/antd.less';
import dva, { connect } from 'dva';
let app = dva();
let homeModel = {
namespace: 'home',
state: {
count: 0
},
reducers: {
add: (state, action) => {
return {count: state.count + action.count}
},
sub: (state, action) => {
return {count: state.count - action.count}
}
}
}
app.model(homeModel);
function Home(props) {
return (
<div>
<p>{ props.count }</p>
<button onClick={() => {props.increment()}}>+</button>
<button onClick={() => {props.decrement()}}>-</button>
</div>
)
}
const mapStateToProps = (state) => {
return {count: state.home.count}
}
const mapDispatchToProps = (dispatch) => {
return {
increment() {
dispatch({type: 'home/add', count: 1})
},
decrement() {
dispatch({type: 'home/sub', count: 1})
}
}
}
const AdvHome = connect(mapStateToProps, mapDispatchToProps)(Home);
function App() {
return (
<div>
<AdvHome />
</div>
)
}
app.router(() => <App />);
app.start('#root');