rematch简单使用

import {init,dispatch} from 'rematch/core';

 

const count = {

state:{

number:0

},

reducers:{//一个改变该model state的所有函数的对象

increments:(state,payload) => state.number + payload,

decrements:(state,payload) => state.number - payload,

},

effects:{//方法都写在这里

async asyncIncrements(payload){//异步增加

await this.increments(payload);

},

async asyncDecrements(payload){

await this.decrements(payload);

}

 

}

}

 

const store = init({

models:{count},

redux:{}

})

 

dispatch.count.asyncIncrements(10);//异步增加10

dispatch.count.asyncDecrements(10);//异步减少10



 

使用:

import React from 'react'

import {connect} from 'react-redux'

 

class App extends Component{

addCount = (value)=>{//异步增加数据

const { CountDispatch } = this.props;

CountDispatch.asyncIncrements(value);

}

 

cutCount = (value) =>{//异步减少数据

const {CountDispatch} = this.props;

CountDispatch.asyncIncrements(value);

}

 

render(){

let {CountNumbers} = this.props;

return (

<div>

<p>获取count数据中的number变化:{CountNumbers.number}</p>

<input type="button" value="增加数据" onClick={this.addCount(10)}/>

<input type="button" value="减少数据" onClick={this.cutCount(10)}/>

</div>

)

}

}

const mapStateToProps =(state)=>{

CountNumbers:state.count,//获取count数据

}

const mapDispatchToProps=(dispatch)=>{

CountDispatch:dispatch.count,//获取count方法

}

 

export default connect(mapStateToProps,mapDispatchToProps)(App)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

随风小薇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值