react后台项目开发(一)
1. 项目开发准备
- 描述项目
- 技术选型
- api 接口(4部分:3请求{url,请求方式,请求参数格式}, 1响应数据格式)/ 接口文档/ 测试接口
2. 启动项目开发
- 使用react脚手架创建项目
- 开发环境运行: npm start
- 生产环境打包运行: npm run build serve build
3. git管理项目
- 创建远程仓库
- 创建本地仓库
- 配置 .gitignore
- git init
- git add .
- git commit -m "init"
- 将本地仓库推送到远程仓库
- git remote add origin url
- git push origin master
- 在本地创建dev分支,并推送到远程
- gitcheckout -b dev
- git push origin dev
- 如果本地有修改
- git add.
- git commit -m "xxx"
- git push origin dev
- 新的同时:克隆仓库
- git clone url
- git checkout -b dev origin/dev
- git pull origin dev
- 如果远程修改
- git pull origin dev
4. 创建项目的基本结构
api: ajax请求模块
components: 非路由组件
pages: 理由组件
app.js: 应用的根组件
index.js: 入口js
5. 引入antd
下载antd包 ( npm i antd -d )
按需打包:只打包import引入组件的js/css
下载工具包 ( npm i react-app-rewired customize-cra babel-plugin-import )
config-overrides.js
package.jason
自定义主题
下载工具包 ( npm i less less-loader -d )
config-overrides.js
使用antd的组件
根据antd的文档编写
6. 引入路由
下载: react-router-dom
拆分应用路由:
Login: 登陆
Admin: 后台管理界面
注册路由:
<BrowserRouter> //路由器
<Switch> //切换其中一个路由
<Route path='' component={ }/> //路由
7. Login的静态组件
- 自定义了一部分样式布局
- 使用antd的组件实现登陆表单界面
- Form / Form.Item
- Input
- Icon
- Button
8. 收集表单数据和表单的前台验证
1. form 对象
如何让包含<Form> 的组件得到form对象?
WrapLoginForm = Form.create()(LoginForm)
WrapLoginForm是LoginForm的父组件,它给LoginForm传入form属性,用到了高阶函数和高阶组件的技术
2. 操作表单数据
form.getFiledDecorator('标识名称', { initialValue:初始值,rules:[]})(<Input/>)包装表单项组件标签
form.getFieldsValue(); 得到包含所有输入数据的对象
form.getFieldValue(id); 根据标识得到对应字段输入的数据
3. 前台表单验证
1. 声明式实时表单验证
form.getFieldDecorator('标识名称',{rules:[{min:4,message:'错误提示信息'}]}) (<Input/>)
2.自定义表单验证
form.getFieldDecorator('标识名称',{rules:{validator:this.validatePwd}})(<Input/>) validatePwd = (rule,value,callback)=>{ if(问题) callback('错误提示') else callback() }
3.点击提示时统一验证
form.validateFields((error,values)=>{ if(!error){ 通过验证,发送ajax请求} })
9. 高阶函数和高阶组件