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)

rematch简单使用相关推荐

  1. HTML5超简单的日期时间控件

    HTML5超简单的日期时间控件 时间都是宝贵的,尤其是开发人员,所以为了节省时间,我直接展示下效果,符合您的要求就采纳,不符合,就不用继续看了! 1.1 日期控件效果: 1.2 时间控件展示: 2.1 ...

  2. rematch常用插件介绍

    插件系统 rematch实现了一个插件系统,内置了dispatch和effects两个插件,分别用来增强dispatch和处理异步操作.rematch的插件,要符合rematch的要求,每个插件返回一 ...

  3. React/ReactNative 状态管理: rematch 如何使用

    有同学反馈开发 ReactNative 应用时状态管理不是很明白,接下来几篇文章我们来对比下 React 及 ReactNative 状态管理常用的几种框架的使用和优缺点. 上一篇文章介绍了 redu ...

  4. React/ReactNative 状态管理终于懂了!redux redux-toolkit 与 rematch 对比总结

    有同学反馈开发 ReactNative 应用时状态管理不是很明白,这个问题我之前刚接触 React 时也遇到过,看了好多文章和视频才终于明白,不得不说,React 及三方库这方面做的有点过于复杂了! ...

  5. rematch:当你受不了redux繁琐写法的时候,是时候了解一波rematch了

    前言: 前段时间学习完react后,刚好就接到公司一个react项目的迭代,顺便巩固一下前段时间的学习成果.项目使用的是redux+react-router,将所有的数据都放在redux中,异步处理数 ...

  6. Rematch: 重新设计 Redux

    本文是借助网易见外的工具帮助完成翻译的,网易见外是基于NMT(神经网络机器翻译)技术的海外内容智能聚合平台 原文地址: https://hackernoon.com/redesigning-redux ...

  7. react数据集中式管理第四篇--@rematch/core

    今天,我们来介绍@rematch/core 其他几篇: react数据集中式管理第一篇–Redux初认识 react数据集中式管理第二篇–@reduxjs/toolkit react数据集中式管理第三 ...

  8. Rematch是没有样板的Redux最佳实践

    Rematch官网 使用Rematch可以使全局状态管理更加的简单和方便 这里只做基本使用介绍,具体可查阅官网 这里的使用是在react hooks组件中 一.安装rematch npm instal ...

  9. 在docker上安装部署tomcat项目 超简单,拿来主义

    在docker中部署tomcat,非常简单,而且省去了手动安装jdk等步骤,只需要将war包复制在容器tomcat实例中的webapps下面即可.以下将详细讲解流程: 在windows中打好包以后用w ...

  10. Linux下tomcat的安装与卸载以及配置(超简单)

    无敌简单的几步 1.安装 //首先你需要下载好tomcat包 sudo tar -xvzf apache-tomcat-7.0.85.tar.gz(这里是包名) -C 你要放的位置 2.卸载 rm - ...

最新文章

  1. [导入][转]好企业是什么样?
  2. Chisel3 - Tutorial - VendingMachine
  3. php7和python3性能对比-Python 2.7与Python 3.7区别
  4. 潜在语义分析对认知科学的启示
  5. spdlog linux编译出错,Linux下编写Makefile引入第三方库
  6. ES9新特性_ES9扩展运算符与rest参数---JavaScript_ECMAScript_ES6-ES11新特性工作笔记053
  7. 从Helm仓库创建应用流程示例
  8. -bash: findstr: command not found 问题解决
  9. 使用PrinterJob进行分页打印
  10. python 通达信k线_python日线通达信,通达信 主图默认显示每只股票上市以来所有日线...
  11. 微信开发errcode:40125
  12. cmd中为什么看不到python安装成功_cmd中运行python怎么切换目录? 怎么查看python中已安装的包...
  13. 北京公交IC 卡充值地点
  14. Unix操作系统的优点总结
  15. Flutter入门并开发天气预报APP(8)——天气预报第二步-选择省、市、区界面及网络请求
  16. java 网页数据_JAVA获取网页数据
  17. 简介常见的四种类型的J2EE架构
  18. 【Spring Cloud 基础设施搭建系列】Spring Cloud Demo项目 Spring Cloud Config Client 失败快速响应与超时重试
  19. PVD真空镀膜设备市场深度评估及行业发展分析报告
  20. 高防服务器的原理,高防服务器防御力怎么样?高防服务器防御原理讲解

热门文章

  1. Maven打包失败:程序包XXX不存在
  2. Dos窗口的常见打开方式和常见命令
  3. android下载工具 磁力,【安卓+iOS】磁力搜索+下载工具
  4. 如何裁剪动态图片?教你三步快速裁剪GIF
  5. 使用Cmd设置 静态/动态IP
  6. w ndows十空格键怎么按,电脑键盘空格键失灵不能用如何修复
  7. 第1章 区块链是什么
  8. 2012年8月至今读书列表 --- 持续更新
  9. git 添加文件覆盖文件, 删除文件
  10. 根据价格变化自动识别极值点策略