# react-antd4 **Repository Path**: mymayue/react-antd4 ## Basic Information - **Project Name**: react-antd4 - **Description**: 后台管理系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-12-11 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README react-后台管理 day1: create-react-app搭建环境; 目录拆分; create-react-app+antd; day2: 登录组件:(1)静态组件 (2)校验表单数据:(a)必须输入 (b)必须大于4位 (c)必须小于12位 (d)必须是英文,数字或下划线组成 高阶组件:(1)本质上就是一个函数 (2) 接受一个组件(被包装组件), 返回一个新的组件(包装组件), 包装组件会向被包装组件传入特定属性 (3)收集表单数据 day3: axios库的使用:(1) 封装axios库-->缺点:不同的接口的url, type重复了 (2) 封装成对应的应用接口请求函数 (3) 请求跨域问题(https/http,host,port) ---解决方案:(a)代理服务器(开发); (b)cors (c)jsonp(get) (4)async和await简化promise对象的使用(不再使用then()来指定成功/失败的回调函数) (a)哪里写await?:返回primise的表达式左侧写await(不想要promise,想要promise异步执行成功的Value数据) (b)哪里写async?(await所在函数最近的)定义的左侧 (5)优化ajax.js(统一处理请求异常) (a)在外层包一个自己创建的promise对象 (b)在请求出错时,不reject(error),而是显示错误提示 day4:登录功能:(1)在主页显示用户名-->内存中保存用户名--->缺点-->一刷新就跳转到登录页面 (2)localstore--> yarn add store-->维持登录 (3)再优化-->登录过的用户再访问登录页面自动跳转到主页 主页:(1)布局 (2)左侧组件 (3)跳转路由组件--->category, charts(bar, line, pie), product, role, user (4)路由映射-->访问对应的url显示不同的content-->, , (5)点击相应的组件右侧的Content显示对应的内容-->路由-组件映射--> (6)优化(5)-->代码重复,扩展性差-->(a)根据menu的数据数组生成对应的标签数组,使用map() + 递归调用 (b)根据menu的数据数组生成对应的标签数组,使用reduce() + 递归调用 (7)优化:自动选中当前菜单项 -->withRouter(高阶组件),selectedKeys,[this.props.location.pathname] (8)Header组件:布局+伪元素 (9)jsonp请求 `天气接口` (10)动态显示header-title->withRoute(Header) (11)娱乐组件->(a)静态界面=>Card+Table (12)异步请求娱乐类型数据(reqEntertainment)