文档章节

项目中的 dva

dkvirus
 dkvirus
发布于 2017/06/28 15:20
字数 1267
阅读 574
收藏 3

dva 是由阿里架构师 sorrycc 带领 team 完成的一套前端框架,在作者的 github 里是这么描述它的:“dva 是 react 和 redux 的最佳实践”。

更新日志

2017年10月13日

dva 更新2.0版本遇到问题汇总

antd-admin

antd-admin 是基于 dva + antd 的一个后管系统,作者:zuiidea,项目:antd-admin,github 上也有 2000+ stats,有 dva 经验的可以看下,楼主当时也是边学习 dva 概念,边研究这个项目的。

先吐槽

学习的过程并非一帆风顺,遇到的一些问题对于非科班出身的我来说简直不可思议。

  • 教程字典化

    • 现在的网络很发达,看似学习资料沧海星空,实则大多是一篇篇的字典,很难寻找到一篇用心编写的好教程。

    • 什么是字典化:复制的 API 文档。就像新华字典一样,我承认里面拥有所有的汉字,但是不知道查字典的方法抱着一本字典又有什么用呢?一个汉字一个汉字的去记忆会打击学习的兴趣。

    • 我理解的好教程 。花费80%的时间去跟你讲清楚这究竟是个什么东西——这就像查阅字典的方法。API 仅仅是“帮助文档”而已。

  • 学会 dva 和学会在项目中使用 dva 是两码事

    • 学会使用 dva 开发一个增删改查的模块是很快的,我花费了三天。

    • 写完代码还需要提交,这就接触了此前没有使用过的 git 分布式版本控制工具。

    • 老板告诉我,你写的代码不能直接提交,要经过 ESLint 工具做代码审查之后才能放心的提交到版本库。

    • 提交到版本库只是开发环境时做的事情,考虑到将来上线还需要学习诸如 webpack 构建工具来进行项目打包。

    • .............

    • 项目中的 dva 远不止用到这些工具,还需要其它的一系列技术点才能组成一套完整的体系。

而我现在要做的事,就是将过程遇到的所有技术编写成一篇篇的***好教程***,便于需要它的人不会遇到我先前遇到的窘境。

为什么写这篇 Blog

起初,是由于项目的需要,开始正式接触 dva。

dva 的开发模式不同于传统页面的开发,学习起来有一定的技术门槛。

dva 的作者sorrycc Blog 里逗留了数个日夜,对新的开发模式好像是理解了,于是就迫不及待的下载了一个 demo,准备开发 CRUD。

故事情节的发展往往不会这么顺利,开发过程中发现,学会 dva 和在项目中使用 dva 进行完整开发完全是两码事:因为项目不仅仅是代码开发,还要关注项目的整体生命周期,代码规范,打包上线等等。

初学 dva 时心里变化

如果你和我一样,不能容忍在你的项目存在看不懂的东东,哪怕是一个配置文件,存在必有价值,不明白的东东就该 DELETE 掉,那么来到这里就对了,本文就是对 dva 做一次“大手术”,肢解它的技术组成,掌握项目中的 dva。

项目中的 dva

项目中的 dva

目录

dva README.md 之外的文档

dva 目前还没有自己的社区,如果学习过程中遇到问题可以去 dva 的 github issue 库去寻找答案,目前已经 close 了 1160 个问题,也就是你遇到的问题大多前人都已遇到过。当然也有人不愿意或不熟悉 github 的,这里也记录一些作者遇到的坑的解决方法。

备注

之前一直在开源中国上写博客,一些 dva 相关博客也在那上面,还没时间转过来,有需要的可以跳转看看。开源中国博客地址github 上博文地址

如果你有关于 dva 的问题,欢迎下方留言。

© 著作权归作者所有

dkvirus
粉丝 41
博文 120
码字总数 117311
作品 0
六安
程序员
私信 提问
加载中

评论(3)

dkvirus
dkvirus

引用来自“zb21941388”的评论

学习了,您的网络知识字典化的观念很值得称赞。希望以后能阅读您的更多文章
感谢支持。
z
zb21941388
学习了,您的网络知识字典化的观念很值得称赞。希望以后能阅读您的更多文章
w
wangning007
学习了
redux探索:rematch

redux存在的问题 项目中redux的样板文件太分散,书写和维护都比较麻烦 使用thunk来处理异步操作,不是那么直观 方案对比 基于redux数据流的管理方案:、和 Dva Dva是蚂蚁金服开源的一个数据流...

supot
2018/11/30
0
0
React生态,dva源码阅读

  dva的思想还是很不错的,大大提升了开发效率,dva集成了Redux以及Redux的中间件Redux-saga,以及React-router等等。得益于Redux的状态管理,以及Redux-saga中通过Task和Effect来处理异步的...

yuxiaoliang
01/24
0
0
#react 之ant design Pro 学习研究#----启动项目

首页 src/index.js 就是以上5步成就了首页引用createHistory 可以实现类似java restfull 风格api 一样的路径访问 引用路由 src/router.js 里面用到了AuthorizedRoutea 和 authority,目前笔者...

杭州-IT攻城狮
2018/11/27
0
0
DvaJS的学习之路2 - umi@2 + dva,完成用户管理的 CURD 应用

前言 最近一个月来使用 dva 对公司存量项目进行重构,比较少时间写文章了。随着9月开学季节的到来,最近在使用的几个开源项目都迎来了重大更新。首先就是 umi 终于迎来了 2.0 版本,具体介绍...

清秋
2018/09/10
0
0
前端技术 | dva,美貌与智慧并存

经过前面四篇的铺垫,终于轮到我们的主角dva了,就是下面这个美女: 先擦一擦哈喇子,我们来介绍一下,dva出自于暴雪出品的一款游戏《守望先锋》,援引官方的角色介绍: D.Va拥有一部强大的机...

飞久
05/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 程序员做噩梦

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @-冰冰棒- :#今日歌曲推荐# 手嶌葵《Kiss The Girl》 《Kiss The Girl》- 手嶌葵 手机党少年们想听歌,请使劲儿戳(这里) @Sharon啊 :今天...

小小编辑
33分钟前
77
5
Another app is currently holding the yum lock; waiting for it to exit...

Another app is currently holding the yum lock; waiting for it to exit... The other application is: PackageKit Memory : 153 M RSS (266 MB VSZ) Started: Thu Jul 12 00:03......

圣洁之子
41分钟前
2
0
FastDateFormat 研究

FastDateFormat 对缓存的利用,其实就是用ConcurrentHashMap 做了一个map类型的缓存 public F getInstance(final String pattern, TimeZone timeZone, Locale locale) { Validate......

暗中观察
今天
3
0
Android双向绑定原理简述

Android双向绑定原理简述 双向绑定涉及两个部分,即将业务状态的变化传递给UI,以及将用户输入信息传递给业务模型。 首先我们来看业务状态是如何传递给UI的。开启dataBinding后,编译器为布局...

tommwq
今天
4
0
Spring系列教程八: Spring实现事务的两种方式

一、 Spring事务概念: 事务是一系列的动作,它们综合在一起才是一个完整的工作单元,这些动作必须全部完成,如果有一个失败的话,那么事务就会回滚到最开始的状态,仿佛什么都没发生过一样。...

我叫小糖主
今天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部