详情请点阅读全文
实战
上接,笔记:https://blog.csdn.net/u010132177/article/details/104150177
https://gitee.com/pasaulis/react-guli
1)创建目录
1 | src 目录下 |
cmd指创建:
1 | mkdir api assets components config pages utils |
2)配置路由、引入antd
https://blog.csdn.net/u010132177/article/details/103344017
3)重置css样式
在public下新建css目录,放入如下文件reset.css,并在index.html里引入
1 | <link rel="stylesheet" href="/css/reset.css"> |
1 | /*! minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css */ |
4)用用axios编写ajax请求组件目录[src/api/]
1.ajax.js主要为用axios写异步的get,post请求最基础部分
1 | import axios from 'axios' |
2.index.js主要为调用ajax组件编写各个对应接口的请求函数的两种写法
1 | import ajax from './ajax' |
3.开发环境配置代理接口,用于处理跨域请求package.json
- 如果不添加将无法跨域,显示为404 not found
- 运行环境将用另一种方法配置代理接口
1 | "development": [ |
配置修改后记录重启项目才有用,ctrl+c、npm start
5)写页面:page/login/login.jsx
1.编写页面基本样式
2.使用antd的form登录组件
3.编写登录组件的本地验证
4.用axios编写ajax请求
1 | import React,{Component} from 'react' |
5.写样式src/login/login.less
1 | .login{ |
6)简单登录
1.src/api/ajax.js
1 | import axios from 'axios' |
2.src/api/index.js
1 | import ajax from './ajax' |
3.src/pages/login/login.jsx
1 | /* |
4.其它src/app.js路由部分
1 | import React,{Component} from 'react' |
5.src/index.js
1 | import React from 'react' |
7)登录功能完善 保存登录状态
localStrage的第三方库store:https://github.com/marcuswestin/store.js
库好处:
- 兼容所有浏览器
- 自动把数据解析为字典格式
1.src/utils/storageUtils.js
- 编写函数用于保存用户名到localstorage里去
- 从localSorage读取user
- 从localStorage删除user
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25/*
保存用户名到localStorage
*/
import store from 'store'
const USER_KEY='user_key' //定义localStorage内的键名为user_key
export default{
//1.保存user到localStorage
saveUser(user){
//localStorage.setItem(USER_KEY,JSON.stringify(user)) //原生localStorage写法,下同
store.set(USER_KEY,user) //store库写法,自动把user解析为字典
},
//2.从localSorage读取user
getUser () {
// return JSON.parse(localStorage.getItem(USER_KEY)||'{}') //如果没有得到数据,就返回空字典
return store.get(USER_KEY) || {}
},
//3.从localStorage删除user
removeUser (){
//localStorage.removeItem(USER_KEY)
store.remove(USER_KEY)
}
}2. src/utils/memoryUtils.js
1 | /* |
3. src/app.js
【1】引入模块
【2】读取local中保存user, 保存到内存中
1 | import React from 'react' |
4.src/pages/login/login.jsx
【1】如果用户已经登陆, 自动跳转到管理界面
1 | import React, {Component} from 'react' |
5.src/pages/admin/admin.jsx
1 | import React,{Component} from 'react' |
6.效果http://localhost:3000
admin admin
输入错误则提示,成功则跳转到/admin页面
f12打开application,把localstorage里的user_key再刷新即会跳转到登录页面