使用dva脚手架中使用redux-sage感受

最近在使用了redux进行项目的开发,这个东西确实是把逻辑和页面的展示区分开了,在代码的书写上,以及以后的更改代码,提供了更多的方便.

dva对redux-saga封装了一层,目前我使用的情况来看还是比较方便的,可以把所有的项目运算都放到一个文件中.

在使用redux-saga进行项目管理里,建议,使用者前,能够充分了解state的不足之处,我能理解react中state的不足之处便是:在项目足够大的时候,每个组件之间的相互调用参数,传递参数,给我带来了很多的不便,比如一个下拉select的数据,在A组件中使用需要使用,在B组件中也是需要使用的,可是如果没有用redux-saga的话,那么我们就要在A组件中调用一次,B组件中调用一次,又或者是在A,B组件中都需要用到同一个接口,我们只需要调用redux-saga的this.props.dispatch.把方法写到一个js文件中,然后在redux-saga中的action中调用,在dva里改成了effect,带*的函数了.

在使用redux-saga中难免会有异步数据同步不来的时候,我一般会把数据的展示和调用放到了render中,前提是componentDidMount 中调用了但是没有数据的展示,实在迫不得已才放到了render中.redux本身也是一个异步的过程.

网络请求数据如果有必要把异步转同步,就去转,不然老是会有数据延迟获取到的问题,可以通过es7的async方法,这个还是比较好用的

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏逸鹏说道

1元搭建自己的云服务器&解析域名

阅读目录 一:云服务器 二:关于域名解析 三:开始配置环境 四:安装mongodb数据库 五:上传代码 最近在学做微信开发,没有自己的域名和服务器就不得不寄人篱...

1.6K16
来自专栏python3

Nginx日志指定时间段查询

查看指定时间的日志  19:00~20:00 cat access.log |awk -F "[ |/]"  '$6>="2017:19:00:00"&&$6<...

1252
来自专栏我的博客

PHP与Flash as2.0简单交互

flash文档: mylist = new Object(); mylist.click = function(event:Object){       u...

2815
来自专栏李蔚蓬的专栏

关于Android Studio中Run按钮是灰色的解决

今天导入一个别人的项目,在导入之前是老方法,覆盖  了三个关键文件之后(.gradle文件夹的内容版本若与本地不一,也应删掉),重启AS;

1.5K2
来自专栏SDNLAB

OpenStack基于修改ip和配置文件的多节点部署

本文主要是提供一种新的思路。OpenStack的liberty版本比Juno更加容易部署,也使用了Linux bridge的方式,使得网络的问题进一步的减少。 ...

3508
来自专栏阮一峰的网络日志

HTTP/2 服务器推送(Server Push)教程

HTTP/2 协议的主要目的是提高网页性能。 头信息(header)原来是直接传输文本,现在是压缩后传输。原来是同一个 TCP 连接里面,上一个回应(respo...

3355
来自专栏coderhuo

串口通信中ICRNL惹的祸

设备A和设备B通过串口通讯,如下图所示。使用COBS进行编解码主要是为了报文分割(解决粘包半包问题)。

1092
来自专栏吴伟祥

Jmeter压力测试 转

 它的作用其实是为了模拟用户,所以也叫Users。一个线程组模块可以包含多个线程,每个线程代表一个用户,这样可以模拟高并发下的请求,并根据网站的响应信息来判断网...

922
来自专栏游戏杂谈

wireshark解析自定义的protobuf协议

wireshark是开源的,而且在Windows下安装时用的是64位,所以相应的库文件需要使用64位。

3563
来自专栏点点滴滴

ovz CentOS主机安装BBR内核

9043

扫码关注云+社区