React开发文档
本文档按照react+umi+dva+antd为技术栈,仅供参考,欢迎指正错误。谢谢
一、 本文档只介绍相关开发流程以及相关简要概念,如需详细了解可参考官网。
React: https://react.docschina.org/
UmiJs: https://umijs.org/
Dva: https://dvajs.com/
Antd: https://ant.design/index-cn
二、 技术栈简介(摘自官网)
1.React: 用于构建用户界面的 JavaScript 库。
优点:(声明式)React 可以非常轻松地创建用户交互界面。为你应用的每一个状态设计简洁的视图,在数据改变时 React 也可以高效地更新渲染界面。以声明式编写UI,可以让你的代码更加可靠,且方便调试。(组件化)创建好拥有各自状态的组件,再由组件构成更加复杂的界面。无需再用模版代码,通过使用JavaScript编写的组件你可以更好地传递数据,将应用状态和DOM拆分开来。
2.umi,中文可发音为乌米,是一个可插拔的企业级 react 应用框架。umi 以路由为基础的,支持类 next.js 的约定式路由,以及各种进阶的路由功能,并以此进行功能扩展,比如支持路由级的按需加载。然后配以完善的插件体系,覆盖从源码到构建产物的每个生命周期,支持各种功能扩展和业务需求,目前内外部加起来已有 50+ 的插件。
3.dva 首先是一个基于 redux 和 redux-saga 的数据流方案,然后为了简化开发体验,dva 还额外内置了 react-router 和 fetch,所以也可以理解为一个轻量级的应用框架。dva一般是与umi结合在一起用的 ,dva主要就是用来解决数据流的问题 ,umi针对于路由的控制,地dva主要的功能就是将redux和redux-saga两者相结合在一起,在原来的写法上,redux和redux-sagas是相对分离的并没有很清晰的模块概念,在dva中将redux的同步操作,和带有副作用的异步effect操作,写在一个model里,简化了写法让一个功能块的数据操作更加清晰明确。除了这个主要功能外,还添加了一些附加的插件功能。
4.antd,服务于企业级产品的设计体系,基于确定和自然的设计价值观上的模块化解决方案,让设计者和开发者专注于更好的用户体验。
个人理解(