React-后台管理系统项目实战视频地址
github代码地址

React 入门实例教程
Redux 入门教程(一):基本用法
Redux 入门教程(二):中间件与异步操作
Redux 入门教程(三):React-Redux 的用法
React 技术栈系列教程

项目描述:


模块化:模块化是一种处理复杂系统分解为更好的可管理模块的方式。每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。(描述项目的开发方式)
组件化:实现局部某一个功能界面所有代码的集合

技术选型



前端路由


api接口

开启项目开发

安装react developer tools for chrome




git操作的基本流程




git add . :他会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件。(把工作区代码提交到缓存区)


git commit -m “init”:将缓存区代码提交到版本区

在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,真是一举多得。
登陆GitHub,然后,在右上角找到“New repository”按钮,创建一个新的仓库

在Repository name填入learngit,其他保持默认设置,点击“Create repository”按钮,就成功地创建了一个新的Git仓库

目前,在GitHub上的这个learngit仓库还是空的,GitHub告诉我们,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库。

现在,我们根据GitHub的提示,在本地的learngit仓库下运行命令:

$ git remote add origin https://github.com/min-yan/AdminClient.git

添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。

git branch:查看分支

把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。

由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令

推送成功后,可以立刻在GitHub页面中看到远程库的内容已经和本地一模一样

从现在起,只要本地作了提交,就可以通过命令:

$ git push origin master

git push origin master :指定远程仓库名和分支名。

把本地master分支的最新修改推送至GitHub(远程master分支),现在,你就拥有了真正的分布式版本库!

创建新分支:git checkout -b dev


-b:如果没有这个分支就创建;
checkout:切换

git push origin dev:将本地分支推送到远程

本地代码更新推送到远程:

远程代码更新拉取到本地

git pull origin dev

将远程仓库克隆到本地


git checkout -b dev origin/dev:根据远程的dev分支创建dev分支

原仓库新建了分支xfzhang,克隆后的仓库要获取这个新分支

总结

1). 创建远程仓库
2). 创建本地仓库配置.gitignoregit initgit add .git commit -m "init"
3). 将本地仓库推送到远程仓库git remote add origin urlgit push origin master
4). 在本地创建dev分支, 并推送到远程git checkout -b devgit push origin dev
5). 如果本地有修改git add .git commit -m "xxx"git push origin dev
6). 新的同事: 克隆仓库git clone urlgit checkout -b dev origin/devgit pull origin dev
7). 如果远程修改了git pull origin dev
8). 如何得到后面新增的远程分支git pullgit checkout -b dev origin/xxx

引入antd








项目中使用到的antd组件

引入路由



路由:映射关系(K-V)
前台路由(path-component)
后台路由(path-回调【处理请求,返回响应】)

react 精华之react-router .HashRouter 还是 BrowserRouter . 动态路由是根据变量决定这个路由是否需要进行

高阶函数
定义: 接收的参数是函数或者返回值是函数
常见的: 数组遍历相关的方法 / 定时器 / Promise / 高阶组件
作用: 实现一个更加强大, 动态的功能

高阶组件:
本质是一个函数
函数接收一个组件, 返回一个新的组件
Form.create()返回的就是一个高阶组件

运行serve端项目及前后台交互





对代理的理解:

什么是跨域?跨域解决方法
不要再问我跨域的问题了

使用axious的请求拦截器,转换post请求参数格式

情况:后台服务器只支持某一种格式(urlencode/json)
添加请求拦截器: 让post请求的请求体格式为urlencoded格式 a=1&b2
在真正发请求前执行

 axios.interceptors.request.use(function (config) {// 得到请求方式和请求体数据const {method, data} = config// 处理post请求, 将data对象转换成query参数格式字符串if (method.toLowerCase() === 'post' && typeof data==='object') {// qs.stringify()将对象 序列化成URL的形式,以&进行拼接config.data = qs.stringify(data) // username=admin&password=admin}return config
})

使用axious的响应拦截器,直接得到data和统一处理error

// 添加响应拦截器// 功能1: 让请求成功的结果不再是response, 而是response.data的值// 功能2: 统一处理所有请求的异常错误
// 在请求返回之后且在我们指定的请求响应回调函数之前
axios.interceptors.response.use(function (response) {return response.data // 返回的结果就会交给我们指定的请求响应的回调// return response // 返回的结果就会交给我们指定的请求响应的回调
}, function (error) { // 统一处理所有请求的异常错误message.error('请求出错 ' + error.message)// return Promise.reject(error);// 返回一个pending状态的promise, 中断promise链return new Promise(() => {})
});

async和await的理解和使用

a. 作用?
简化promise对象的使用: 不用再使用then()来指定成功/失败的回调函数
以同步编码(没有回调函数了)方式实现异步流程
b. 哪里写await?
在返回promise的表达式左侧写await: 不想要promise, 想要promise异步执行的成功的value数据
c. 哪里写async?
await所在函数(最近的)定义的左侧写async

JSONP

JSONP是JSON with padding(填充式JSON或参数式JSON)的简写,是应用JSON的一种新方法,常用于服务器与客户端跨源通信,在后来的Web服务中非常流行。
 JSONP 是解决跨域问题的一种方案,不同于 JSON,其并不是一种数据交换格式,而只是一种绕过跨域的技巧。

jsonp原理详解——终于搞清楚jsonp是啥了

call()、apply()、bind()


JavaScript 中 call()、apply()、bind() 的用法

react的static函数设计的目的是什么呢?

这里涉及到了ES6的class,我们定义一个组件的时候通常是定义了一个类,而static则是创建了一个属于这个类的属性或者方法。

组件则是这个类的一个实例,component的props和state是属于这个实例的,所以实例还未创建,我们又怎么可能读得到props和state呢?

总结来说static并不是react定义的,而加上static关键字,就表示该方法不会被实例继承,而是直接通过类来调用

静态方法:
若类的方法前加了static关键字,则该方法称为静态方法,反之为实例方法。静态方法为类所有,可以通过对象来使用,也可以通过类来使用。但一般提倡通过类名来使用,因为静态方法只要定义了类,不必建立类的实例就可使用。静态方法只能调用静态变量。

方法调用
静态方法与实例方法唯一不同的,就是静态方法在返回类型前加static关键字。静态方法的调用有两种途径:
(1)通过类的实例对象去调用
调用格式为: 对象名.方法名
(2) 通过类名直接调用
调用格式为: 类名.方法名

方法规则
我们在使用时要注意:
静态方法只能访问类的静态成员,不能访问类的非静态成员;
非静态方法可以访问类的静态成员,也可以访问类的非静态成员;
静态方法既可以用实例来调用,也可以用类名来调用。

自定义实现数组声明式方法






get请求的两种请求参数

函数节流与防抖




富文本编辑组件

redux


setSatate()



可视化图表

打包项目并运行

React-后台管理系统项目实战相关推荐

  1. react后台管理系统项目总结

    React后台管理项目 1.创建一个项目 2.配置一个ui插件库 开始 实现跳转 快速获取路由地址 将路由和组件映射 axios请求 实现登录模块 隐藏二级路由 按照价格排序或者按照销量等排序 管理员 ...

  2. 后台管理系统怎么实现操作日志原理_springboot角色权限后台管理系统脚手架实战开发教程包含完整源码...

    自从猿来入此发布实战开发教程以来,我们截至目前一共发布了22个Java实战项目开发教程,从最基础的Java控制台实战项目到数据库封装教程再到swing的单机项目教程.servlet的web实战教程.s ...

  3. 大事件后台管理系统开发实战(下)

    文章目录 续前篇:大事件后台管理系统开发实战(中) 1. 文章类别 1.1 点击编辑按钮展示修改文章分类的弹出层 1.2 为修改文章分类的弹出层填充表单数据 1.3 更新文章分类的数据 1.4 删除文 ...

  4. 【开发篇】10分钟快速搭建React后台管理系统模板

    React后台管理系统模板 github 我又回来了!!!学完前端react,再学spring,这周或者下周写spring有关的!!! 一.准备React 1.建立react应用 npx create ...

  5. 视频教程-SSM后台管理系统开发实战-Java

    SSM后台管理系统开发实战 5年IT从业经验,目前职位是Java高级工程师.架构师,在gitchat发布有<SSM博客系统开发实战>达人课,CSDN博客专家,博客专栏作者,梦境网项目独立开 ...

  6. 全程配图超清晰的Springboot权限控制后台管理项目实战第二期(Springboot+shiro+mybatis+redis)

    全程配图超清晰的Springboot权限控制后台管理项目实战第二期(Springboot+shiro+mybatis+redis) 众所周知,作为一个后端新手学习者,通过项目来学习,增长项目经验,是一 ...

  7. SSM后台管理系统开发实战

    一.简介: 通过这个课程带大家从零开发一款功能全面的后台管理系统,包括项目搭建.功能实现到最后的Linux系统部署全过程.本课程使用SpringMVC + Spring + Mybatis作为主体框架 ...

  8. xml信息管理系统_WPF信息管理系统项目实战教程二:使用XAML实现页面布局

    首页面布局设计 XAML(Extensible Application Markup Language),可扩展应用程序标记语言的使用使得C#桌面应用程序开发前后端实现真正分离.前端人员可使用该标记语 ...

  9. Java Web项目源代码|CRM客户关系管理系统项目实战(Struts2+Spring+Hibernate)解析+源代码+教程

    客户关系管理 (CRM) CRM一般指客户关系管理 客户关系管理是指企业为提高核心竞争力,利用相应的信息技术以及互联网技术协调企业与顾客间在销售.营销和服务上的交互,从而提升其管理方式,向客户提供创新 ...

最新文章

  1. Android studio 单元测试
  2. xbox可以录视频声音吗_什么是Xbox Live Gold,它值得吗?
  3. 使用RxNetty访问Meetup的流API
  4. 初级开发人员在编写单元测试时常犯的错误
  5. ClassNotFoundException:是否减慢了您的JVM?
  6. 实验三+067+冯艳芳
  7. 四路智能抢答器电子系统综合设计
  8. dudu: 图片显示错误问题,望更正
  9. Spring MVC 接收POST表单请求,获取参数总结
  10. Linux复习-常见命令及文件操作
  11. 百度收购YY:第三次直播大战开启
  12. Django创建超级管理员用户
  13. win10下装win7双系统_win10下怎么装win8系统 win10下装win8系统方法【详细教程】
  14. 微软Project Server 2016正式版下载:支持项目组合管理-搜狐
  15. 一键智能抠图-原理与实现
  16. Android进阶知识树——Android消息队列
  17. html 的(热点区域的建立、框架的建立)
  18. Shell命令:echo 命令详解
  19. 广播(Broadcast)
  20. Python年利率计算器【N日年化收益率】

热门文章

  1. 2009年的总结(二)
  2. 【原创】C#搭建足球赛事资料库与预测平台(5) 赔率数据表设计1
  3. Android 短彩信数据模型介绍
  4. HCNP——OSPF路由器的角色
  5. 【SDX65】WCN6856启动出现系统崩溃问题
  6. 费马定理在算法取模中的应用
  7. 【单片机毕业设计】【mcuclub-305】公交车报站 | 公交车自动报站 | 公交车语音报站
  8. ubuntu下备份系统以及遇到的问题
  9. Quill插入表格getModule(‘table‘)为undefined 问题
  10. 我在网络上看到的PDM的概念、定义、优缺点等相关信息