【Ant Design Pro】基本配置和工作流程

一、常用的几个目录:

config :配置文件

 config.js :路由定义文件&&代理路径文件

defaultSettings.js :主题颜色以及标题配置文件

plugin.config.js :没怎么用过的配置文件

mock:mock数据文件,用于本地开发使用

public:静态图片资源

src :开发项目文件(主要在此目录下进行发)

    assets :存放平台logo

    components :全局组件文件夹

    layouts :全局布局文件

    locales:国际化文件

    models :数据仓库,每个文件都需要一个命名空间 ,定义全局请求函数

    pages:页面文件

    service : 全局service 发起请求文件

    utils :工具文件 其中会有自定义request.js

平时主要用4个文件:mock、page、models、services


二、module内容具体分析

在model中存在 namespace(命名空间,用来区分不同的页面之间的数据),state(该命名空间下的数据),effects(一些异步请求的api方法定义在这里),reducers(用来修改state的一些函数定义在reducers下)

文件包含以下几个模块(实际上都是javascript对象):

state => 数据构成

effects => 处理异步action,采用generator的相关概念,将异步转化成同步写法。

reducers => 处理同步action,相当于redux中的reducer函数,纯函数(即相同的输入得到相同的输出)


routes 业务组件,通常是需要连接数据仓库的组件。我们通过connect连接数据仓库之后可以通过this.props获取到数据和dispatch方法,并使用dispatch派发action来达到更新state(即更新数据仓库)的操作。

components 通用组件(纯组件),通常是一些复用性很强的组件,不需要连接数据仓库。通过props传递数据,父组件传递相同的props,会渲染相同的页面。不做任何业务上的处理。

services 所有的请求都写在这里,官方已经为我们封装了request方法,我们只需要传入参数即可。


三、整体的一个运行流程如下:

进入页面,在页面的componentDidMount钩子函数中调用model的effect中的方法,该方法调用service文件夹下的统一管理的请求函数。

获取到服务器返回值,在model的effect中拿到,并且调用model下的reducer,调用model的reducers对请求的数据进行处理,将model的state进行改变,页面自动进行渲染。


四、在工作中的例子

mock(一开始使用假数据模式)


module


service


 pages


原文: https://www.cnblogs.com/iceseven/p/12635150.html 
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容