- UI库 Antd:https://3x.ant.design/docs/react/introduce-cn
- 项目框架基于Antd pro:https://v2-pro.ant.design/index-cn
- 脚手架Umi:https://umijs.org/zh/
- less:https://juejin.im/post/5c8e4f4651882545ba60a230
- Dva:https://dvajs.com/guide/
$ git [email protected]:zhaokera/AntdPro_v2.git
$ cd AntdPro_v2
$ npm install
$ npm start # 访问 http://localhost:8000
vscode插件
- Beautify
- Debugger for Chrome
- ESLint
- Reactjs code snippets
- TSLint
- Umi Pro
- 路由相关文件夹首字母大写 例如客户文件夹pages/Customer
- 文件夹/组件首个文件命名index.js
- 功能型文件夹首字母小写 例如models、views、common
- 页面命名首字母大写,功能型js首字母小写 例如Home.js、home.less
- 一级菜单文件夹放在pages/A 后续文件路径根据菜单路径来,不要越级。
- 页面单个组件放在该页面当前路径/views中
- 公司级的公共组件放置在/@/components/DMComponents
- 当前项目纯公共组件放在/@/components/xx
- 应用中的其他部分需要用到这部分数据吗?
- 是否需要根据这部分原始数据创建衍生数据?
- 这部分相同的数据是否用于驱动多个组件?
- 你是否需要能够将数据恢复到某个特定的时间点?
- 是否需要缓存数据?(比如:直接使用已经存在的数据,而不是重新请求)
- 是否是业务数据?
- 业务组件中可以调用dva 例如Home/views/某个组件可以调用dva
- 公共组件中不调用dva 例如components/xx组件
- 公共组件中如果需要Api请求,可直接调用service层。
以前是父组件中包含所有弹窗逻辑,例如显示/隐藏/提交/取消等..
现在父组件=>引用弹层,通过ref指向。
弹层中包含Api和业务逻辑,弹层中引用相关View的组件。
Form类型通过wrappedComponentRef指向,在弹层中获取View组件的Form表单值。
现代浏览器及 IE11。
IE / Edge |
Firefox |
Chrome |
Safari |
Opera |
---|---|---|---|---|
IE11, Edge | last 2 versions | last 2 versions | last 2 versions | last 2 versions |