lobinroromens / antd-dva-admin-starter

antd-dva-admin-starter
10 stars 2 forks source link

antd-dva-admin-starter

这是一个简单的基于dva antd 的管理系统demo,实现的登录注销及基本的CURD操作

前言

react作为一个mvc里面的View层它相对于angular及Vue等框架而言有很多痛点,其中state的管理、组件之间通信异步操作的处理都是烦人的事情,参考了很多资料目前比较好的架构组合是react+redux+react-router+redux-saga(或者redux-thunk),由于redux或者redux-saga都是三方库不是真正的框架所以在组织代码的时候回显得杂乱,添加一个功能需要修改不同文件夹里面的文件,这样不利于代码的组织。这个时候dva出来的,他是对上面几个库的二次封装,很happy的看到这个库,对于里面的概念也相对很好理解,相对于之前的架构而言代码组织更加清晰,代码干净明了。基本实现了mvc架构。

目录结构

开发基本流程

model详解

model层主要处理逻辑及数据(服务器数据及state),其实的namespace是对model的标识,state就是redux里面的initState,reducer就是redux里面的reducer,reducer用于操作state,subscriptions字面上的意思是订阅及添加一个监听器,比如router的变化KEYBORD事件监听等,effects为redux-saga里面的概念用于处理异步操作提供call,put等方法来进行异步处理。

实例(以登录为例)

1、添加model

链接完成后Login就可以访问user model里面的state以及effects来进行和服务器的交互以及操作state,state