一、一些概念
- dva 首先是一个基于 redux 和 redux-saga 的数据流方案,然后为了简化开发体验,dva 还额外内置了 react-router 和 fetch,所以也可以理解为一个轻量级的应用框架。
- UMI-dva-model约定:model 分两类,一是全局 model,二是页面 model。全局 model 存于 /src/models/ 目录,所有页面都可引用;页面 model 不能被其他页面所引用。规则如下:
src/models/**/*.js 为 global model
src/pages/xx/models/xx/x.js 为 page model
- *super:: super 关键字用于访问和调用对象父类上的函数。可以调用父类的构造函数,也可以调用父类的普通函数。super作 为函数调用时,代表父类的构造函数。 ES6 要求,子类的构造函数必须执行一次 super 函数。注意: super 作为函数时,super() 只能用在子类的构造函数之中,用在其他地方就会报错。
- 组件直接从客户端调用服务器,这允许 DOM 在不刷新页面的情况下动态更新。这是因为 react 组件是基于 AJAX 请求的概念构建的。每个组件都有自己的接口,可以调用服务器并更新它们。由于这些组件彼此独立,所以每个组件都可以在不影响其他组件或整个 UI 的情况下进行刷新。