初识Ant-Design

设计价值观

Ant-Design在设计方面,存在两个大的价值观,天然和肯定。天然即顺其天然,在顺应用户的自我感知和行为方式来开发更天然的产品。肯定即探索设计规律,并将其抽象成对象,减小设计者的主观干扰,下降系统的不肯定性。还有模块化设计,将复杂的或者相同的部分抽象成模块,最终减小系统的复杂度,增进可靠性和可维护性。前端

Ant-Design的React实现

https://ant.design/docs/react/practical-projects-cn
先贴出地址来,上面还有不少东西没学,今天作了一个应用Ant-Design的Table组件,了解了一些常见的Table组件的用法。react

Table组件

  • dataSource:须要传递给表格的数据,格式是一个数组
  • columns:定义表格有哪些列,若是是静态数据的话,只须要写key,title,dataIndex属性,若是是动态操做的话,还会有render属性
  • loading
    详情请参照这个连接https://ant.design/components/table-cn/#components-table-demo-reset-filter

dva的八个概念

用户经过在界面上进行操做,产生Action,而后在组件里面对Action(好比是删除delete操做)添加处理函数(handleDelete),在handleDelete函数里面,调用dispatch函数来分发action,而后dva-cli命令会帮咱们建立models目录,dva经过model的概念将一个领域的模型管理起来,包括同步更新state的reducers,处理异步逻辑的effects,订阅数据源的subscriptions。有了model和component,还须要将这二者串联起来,就是经过connect,connect相似于react-redux中的connect。
我简单总结一下今天所学到的,在作上面这个表格,ui方面的话就是用的Ant-Design来作的样式,其中也学到一些Table组件的相关用法。git

  • state:表示Model的状态数据,一般表现为一个JavaScript对象,在dva中能够经过dva的实例属性_store看到顶部的state数据,可是一般不多用到。
  • Action:也是一个JavaScript对象,表示用户的操做,包括type,payload等属性
  • dispatch函数:触发action的函数,action是改变state的惟一途径,这里通常是在handleDelete函数里面调用(处理用户的操做)
  • Reducer函数接受两个参数:以前已经累积运算的结果和当前要被累积的值,返回的是一个新的累积结果。该函数吧一个集合归并成一个单值。
  • Effect:反作用,在应用中,称为异步操做。dva 为了控制反作用的操做,底层引入了redux-sagas作异步流程控制,因为采用了generator的相关概念,因此将异步转成同步写法,从而将effects转为纯函数。
  • Subscription:订阅,用于订阅一个数据源,而后根据条件dispatch的须要的action,数据源能够是当前的时间、服务器的 websocket 链接、keyboard 输入、geolocation 变化、history 路由变化等等。
  • Router:这里的路由一般指的是前端路由,因为咱们的应用如今一般是单页应用,因此须要前端代码来控制路由逻辑,经过浏览器提供的 History API 能够监听浏览器url的变化,从而控制路由相关操做,dva 实例提供了 router 方法来控制路由,使用的是react-router
import { Router, Route } from 'dva/router';
app.router(({history}) =>
  <Router history={history}>
    <Route path="/" component={HomePage} />
  </Router>
);
  • Route Components:在 dva 中,一般须要 connect Model的组件都是 Route Components,组织在/routes/目录下,而/components/目录下则是纯组件(Presentational Components) 详情请参照https://github.com/dvajs/dva/blob/master/docs/Concepts_zh-CN.md
相关文章
相关标签/搜索