react-redux 和 redux-saga 小结
react-redux 将 store 绑定到 props 上,便于全局调用。
redux-saga 是将 redux 的同步转换为异步。
注:
dispatch 到 saga , saga 匹配行为的 type,调用接口请求数据,并将数据 通过 dispatch 传给 redux。
redux 匹配 type 并将数据绑定到 props 上
思路:
(1)routes 下的页面触发 action
this.props.dispatch({
type:"xxx", // 行为名称
payload: yyy
})
(2)saga 下的异步 redux 进行匹配
找到对应的 fork(reducer)
在 reducer 中调用整体的也是唯一的 action
yield takeLatest("xxx",(yyy) => functionName(yyy))
在 functionName 中使用 put 代替 dispatch
yield put({
type:"aaa", // 数据type
payload: bbb
})
(3)redux 下的同步 redux 进行匹配
找到对应的 reducer
在 reducer 中进行 type 匹配
case 匹配 type , return 出去的数据 需要 先
const initstate = { ccc: ddd }
初始化。
将获取的 数据 return 到 props 上
(4)全局获取 store 上的数据
const { ccc } = this.props;
.
react-redux 和 redux-saga 小结的更多相关文章
- React,关于redux的一点小见解
最近项目做多页面应用使用到了,react + webpack + redux + antd去构建多页面的应用,本地开发用express去模拟服务端程序(个人觉得可以换成dva).所以在这里吐槽一下我自 ...
- 在React中使用Redux
这是Webpack+React系列配置过程记录的第六篇.其他内容请参考: 第一篇:使用webpack.babel.react.antdesign配置单页面应用开发环境 第二篇:使用react-rout ...
- 新手级配置 react react-router4.0 redux fetch sass
前言 最近公司来了几个实习生,刚好我手头没什么要紧事,然后领导让我带他们学习react, 为下一个react项目做基础. 然后随手写了几个demo,帮助他们了解正经项目如何去构建配置项目. 现在分享出 ...
- react系列(五)在React中使用Redux
上一篇展示了Redux的基本使用,可以看到Redux非常简单易用,不限于React,也可以在Angular.Vue等框架中使用,只要需要Redux的设计思想的地方,就可以使用它. 这篇主要讲解在Rea ...
- React Native集成Redux框架讲解与应用
学过React Native的都知道,RN的UI是根据相应组件的state进行render的,而页面又是由大大小小的组件构成,导致每个组件都必须维护自身的一套状态,因此当页面复杂化的时候,管理stat ...
- [RN] React Native 使用 Redux 比较详细和深刻的教程
React Native 使用 Redux 比较详细和深刻的教程 React Native 使用 Redux https://www.jianshu.com/p/06fc18cef56a http:/ ...
- React技术栈——Redux
Redux 1.Redux是什么? Redux对于JavaScript应用而言是一个可预测状态的容器.换言之,它是一个应用数据流框架,而不是传统的像underscore.js或者AngularJs ...
- React Hooks +React Context vs Redux
React Hooks +React Context vs Redux https://blog.logrocket.com/use-hooks-and-context-not-react-and-r ...
- 在react中使用redux并实现计数器案例
React + Redux 在recat中不使用redux 时遇到的问题 在react中组件通信的数据是单向的,顶层组件可以通过props属性向下层组件传递数据,而下层组件不能向上层组件传递数据,要实 ...
- React-redux: React.js 和 Redux 架构的结合
通过Redux 架构理解我们了解到 Redux 架构的 store.action.reducers 这些基本概念和工作流程.我们也知道了 Redux 这种架构模式可以和其他的前端库组合使用,而 Rea ...
随机推荐
- 项目记事【SpringMVC-2】:将后台的对象,转成JSON报文
Spring版本:3.2.7 Jackson版本: <!--Jackson --> <dependency> <groupId>com.fasterxml.jack ...
- 校赛——1096Is The Same?(KMP或字符串的最小、大表示法)
1096: Is The Same? Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 26 Solved: 8[Submit][Status][Web B ...
- npm scripts设置环境变量方法
windows set NODE_ENV=production "scripts": { "release": "set NODE_ENV=produ ...
- python的dbutil
目录机构如下: dbutil代码如下: #!/usr/bin/python # -*- coding:utf-8 -*- import configparser import pymysql clas ...
- d3 添加元素相关api
选择元素 d3.select([dom]) d3.selectAll([dom]) 添加元素 d3.select("body").append("p") 插入内 ...
- 百度图表echars插件使用案例
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding= ...
- 内核的bootmem内存分配器【转】
转自:http://blog.csdn.net/zmxiangde_88/article/details/8041040 版权声明:本文为博主原创文章,未经博主允许不得转载. 在内核启动期间,伙伴系统 ...
- 随机生成指定长度字符字符串(C语言实现)
相关函数 srand(), rand()头文件#include<stdlib.h> 定义函数 int rand(void) 函数说明 rand()会返回一随机数值,范围在0至RAND_MA ...
- configure: error: C++ preprocessor "/lib/cpp" fails sanity check
configure: error: C++ preprocessor "/lib/cpp" fails sanity check 参考链接: error: C++ preproce ...
- C语言集锦(一) C代码生成图片:BMP、PNG和JPEG
1.生成BMP图片 在学习图形图像的过程中,最简单和常见的格式是BMP和PPM.下面将给出生成BMP的极度精简代码,然后讲解BMP格式. #include <stdio.h> #inclu ...