使用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 条评论
登录 后参与评论

相关文章

来自专栏Samego开发资源

让子弹飞 | 那个程序员的mac常用软件清单目录

Magnet keeps your workspace organized. Activated by dragging, customizable keyb...

1452
来自专栏你不就像风一样

在IDEA中构建Web项目流程

点击绿色的+号,如图所示,点一下 这一步很关键,目的是设置输出格式为war包,如果你的项目中已经有了,那就不需要再建了。有没有看右上角的Type

2171
来自专栏PHP在线

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

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

3636
来自专栏SDNLAB

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

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

3728
来自专栏Mamba

PHP开发个人博客

3085
来自专栏木头编程 - moTzxx

WDCP 初次见面/打个招呼

1141
来自专栏游戏杂谈

wireshark解析自定义的protobuf协议

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

7263
来自专栏魏艾斯博客www.vpsss.net

The uploaded file exceeds the upload_max_filesize directive in php.ini 解决办法

5691
来自专栏程序员同行者

Django2.1发布,Django2.1新特性

Django 2.1 现已正式发布,官方表示随着 2.1 的发布,对 2.0 系列的主流支持服务将结束,进入安全修复服务周期,直至2019年4月。

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

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

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

3535

扫码关注云+社区

领取腾讯云代金券