2.7万
已完结 · 共270课时
长期有效
适合前端初学者的地表最强系列 React 项目实战课程
2.7万
已完结 · 共270课时
长期有效
适合前端初学者的地表最强系列 React 项目实战课程

刘龙彬
地表最强系列·视频教程金牌讲师,注重训练学生的编程思维,授课功底深入浅出,深受广大学员的好评。
课程概述









【减200.0】React项目实战课程-文章后台管理系统 满399.0减200.0
课程群
初始化-注册-登录
全集试看
Fork 模板仓库
视频课
10分20秒
全集试看
把自己的仓库克隆到本地
视频课
6分56秒
全集试看
配置 CSS 模块化
视频课
6分10秒
全集试看
了解项目整体的路由配置
视频课
3分25秒
全集试看
配置路由
视频课
7分46秒
全集试看
提取登录和注册共享的 AuthLayout 布局组件
视频课
4分55秒
全集试看
实现 AuthLayout 组件的布局样式
视频课
11分14秒
全集试看
Git 分支操作
视频课
1分49秒
全集试看
配置 CSS 模块化生成的类名风格
视频课
10分51秒
全集试看
基于 antd 组件库绘制注册页面的表单
视频课
15分29秒
全集试看
基于 Link 组件绘制底部去登录的链接
视频课
1分22秒
全集试看
为表单项添加 pattern 正则校验
视频课
5分47秒
全集试看
完善确认密码框的校验规则
视频课
13分31秒
接口文档和调用接口的注意事项
视频课
6分2秒
如何使用接口授权码访问项目的接口
视频课
6分23秒
安装并配置 axios
视频课
14分48秒
基于 useSubmit 把数据提交给路由的 action 函数
视频课
15分2秒
调用注册接口并处理调用失败的情况
视频课
11分40秒
根据注册的结果进行失败的提示或成功的跳转
视频课
8分37秒
请求期间展示 loading 效果
视频课
8分17秒
深入说明 loading 条件的运算过程
视频课
4分47秒
在 axios 的请求拦截器中挂载请求体转换器
视频课
14分24秒
封装请求体转换器函数
视频课
6分28秒
按需挂载请求体转换器
视频课
4分50秒
使用响应拦截器统一展示错误消息
视频课
11分28秒
处理请求失败且没有响应体时如何提示错误消息
视频课
8分16秒
通过响应拦截器把真正的数据返回给用户
视频课
10分29秒
提交注册的 Git 分支
视频课
2分51秒
绘制登录组件的表单结构
视频课
6分50秒
为表单项添加正则校验
视频课
3分
使用 useSearchParams 解析查询参数
视频课
8分48秒
使用 userFetcher 提交表单数据
视频课
5分4秒
封装并调用登录的接口
视频课
5分29秒
为 axios 接口提供返回数据的 TS 类型
视频课
6分3秒
为登录按钮绑定 loading 状态和 loading 延迟
视频课
5分58秒
在项目中配置 zustand 进行全局状态管理
视频课
8分11秒
把 token 存储到 zustand 中
视频课
6分35秒
提交登录的 Git 分支
视频课
3分12秒
后台主页
绘制后台主页的基础布局
视频课
14分49秒
把 Header 区域封装为独立的组件
视频课
14分42秒
实现 Header 组件内部元素的布局效果
视频课
6分50秒
询问用户是否确认退出登录
视频课
5分21秒
实现退出登录的功能
视频课
8分47秒
未登录不允许访问后台主页
视频课
11分53秒
登录后禁止访问登录和注册页面
视频课
11分29秒
基于 token 进行接口鉴权
视频课
4分21秒
在 zustand 中创建 user 相关的模块
视频课
9分36秒
为 user-store 配置中间件
视频课
2分37秒
封装接口获取用户的基本信息并存储到 store 中
视频课
15分42秒
渲染用户名称和头像
视频课
5分18秒
处理 token 失效的问题
视频课
7分40秒
获取左侧菜单的列表数据
视频课
9分47秒
封装 RootMenu 组件渲染左侧菜单的数据
视频课
6分14秒
处理左侧菜单的图标
视频课
16分12秒
修改子菜单的背景颜色
视频课
1分57秒
实现父级菜单互斥展开的效果
视频课
4分46秒
点击菜单项实现路由跳转
视频课
7分25秒
创建 Home 首页对应的路由规则
视频课
7分8秒
完善个人中心和文章管理对应的路由规则
视频课
8分41秒
刷新网页时动态设置左侧菜单的选中项
视频课
8分8秒
分析递归查找左侧菜单展开项的实现思路
视频课
5分17秒
递归查找需要被展开的菜单项的 key 值
视频课
14分47秒
隐藏修改文章的菜单项
视频课
2分18秒
优化 token 无效后的错误提示
视频课
6分55秒
实现面包屑组件的基础布局
视频课
4分11秒
分析如何递归生成面包屑导航的数据源
视频课
8分43秒
定义函数递归生成面包屑导航的数据源
视频课
9分58秒
调用递归函数生成面包屑导航的数据源
视频课
5分26秒
使用 useMemo 缓存递归计算的结果
视频课
2分22秒
优化 RootMenu 组件中数据的 TS 类型
视频课
2分18秒
提交后台主页的 Git 分支
视频课
3分1秒
个人中心
绘制基本资料的表单结构
视频课
11分1秒
回显表单数据
视频课
5分17秒
点击按钮进行数据还原
视频课
4分43秒
封装接口并实现修改基本资料的功能
视频课
12分58秒
优化 action 中的代码逻辑
视频课
5分48秒
为保存按钮添加 loading 效果
视频课
2分8秒
提交修改基本资料的 Git 分支
视频课
1分49秒
绘制重置密码的表单
视频课
4分59秒
基于 validator 添加表单验证
视频课
16分56秒
实现重置表单的功能
视频课
3分26秒
封装接口实现修改密码的功能
视频课
9分5秒
密码修改成功后重置表单
视频课
4分9秒
展示 loading 提示的两种方案
视频课
7分47秒
提交修改密码的 Git 分支
视频课
1分46秒
渲染更换头像的基础布局
视频课
6分24秒
点击按钮展示选择头像的对话框
视频课
5分10秒
读取并展示用户选择的头像
视频课
6分8秒
动态计算保存按钮的禁用状态
视频课
3分56秒
封装接口实现更换头像的功能
视频课
6分59秒
展示保存按钮的 loading 状态
视频课
1分43秒
提交更换头像的 Git 分支
视频课
1分57秒
文章分类
获取文章分类的列表数据
视频课
10分4秒
渲染分类的表格数据
视频课
17分6秒
把添加分类按钮封装为独立的组件
视频课
4分28秒
使用 Modal 组件渲染添加分类的对话框
视频课
4分30秒
渲染添加分类的 Form 表单
视频课
5分57秒
手动触发表单的校验
视频课
5分37秒
学习对话框关闭时重置表单的两种方案
视频课
6分28秒
封装接口并实现添加分类的功能
视频课
8分54秒
说明如何精准判断 loading 的状态
视频课
9分43秒
将 method 添加为 loading 的判断条件
视频课
4分5秒
将 pathname 添加为 loading 的判断条件
视频课
10分47秒
为添加按钮设置 loading 的 delay 时间
视频课
3分21秒
分类添加结束后自动关闭对话框
视频课
6分29秒
只在添加成功之后才关闭对话框
视频课
3分1秒
封装 hooks 获取导航的状态
视频课
12分8秒
封装 ButtonEdit 组件
视频课
7分14秒
绘制修改分类的对话框和表单
视频课
12分59秒
封装接口实现修改分类的功能
视频课
9分38秒
复用自定义的 hooks 实现 loading 提示
视频课
5分55秒
在对话框的 afterClose 事件中重置表单
视频课
2分17秒
封装删除分类的 ButtonDelete 组件
视频课
4分2秒
使用 Popconfirm 询问用户是否确定删除
视频课
8分14秒
实现气泡确认框的互斥展示
视频课
7分24秒
点击确定按钮时防止关闭气泡确认框
视频课
9分33秒
封装接口实现删除分类的功能
视频课
8分38秒
基于 paramsSerializer 转换请求头中的数据
视频课
10分20秒
提交文章分类的 Git 分支
视频课
1分45秒
添加文章
演示添加文章要实现的功能效果
视频课
3分40秒
绘制顶部的 Steps 步骤条
视频课
7分16秒
封装基本信息的组件
视频课
8分50秒
请求并渲染分类的菜单项
视频课
7分34秒
把 current 存储到 zustand 中
视频课
10分46秒
使用 enum 增强代码的可读性
视频课
5分45秒
使用枚举优化 art-add-store 模块
视频课
1分
封装文章封面组件的基本布局结构
视频课
5分55秒
把 Store 中的文章信息回填到表单中
视频课
15分16秒
实现文章基本信息的实时存储
视频课
8分59秒
点击按钮选择文章封面
视频课
5分14秒
localStorage 无法存储 Blob 文件
视频课
4分56秒
了解如何自定义 zustand 的存储引擎
视频课
6分7秒
了解 localforage 的基本用法
视频课
7分38秒
自定义 zustand 的存储引擎
视频课
7分59秒
封装自定义存储引擎相关的代码
视频课
7分12秒
渲染文章封面的图片
视频课
4分55秒
选择封面后才允许进入下一步操作
视频课
2分17秒
分析为什么刷新网页会导致添加文章页面闪烁
视频课
3分58秒
解决刷新时添加文章页面时闪烁的问题
视频课
7分8秒
封装文章内容组件
视频课
7分15秒
自定义 Quill 的最小高度和工具栏按钮
视频课
9分2秒
提示用户填写要发表的文章内容
视频课
5分22秒
全局存储填写的文章的内容
视频课
3分37秒
把文章的发布状态存储到 Store
视频课
3分20秒
把文章数据提交到路由的 action 函数
视频课
5分12秒
封装接口实现发表的功能
视频课
10分11秒
清空本地存储的文章信息并实现 Steps 自增
视频课
2分35秒
展示发表文章期间的 loading 提示
视频课
4分16秒
封装 Done 状态对应的 Result 组件
视频课
9分39秒
实现去文章列表和再写一篇的功能
视频课
6分17秒
在 loader 中获取本地存储的 current 值
视频课
13分13秒
使用 shouldRevalidate 阻止 loader 执行
视频课
4分41秒
实现分支的提交(开发这么久了,偶尔水一下也很开心)
视频课
40秒
控制文章封面大小不能超过2M
视频课
6分32秒
点击浮动按钮快速清空表单
视频课
11分31秒
在路由导航时自动关闭 Modal 弹窗
视频课
8分50秒
提交添加文章功能对应的 Git 分支
视频课
1分47秒
文章列表
把搜索区域封装为组件
视频课
11分28秒
点击添加按钮导航到添加文章页面
视频课
3分52秒
通过 loader 获取并回显分类的列表数据
视频课
4分23秒
在 loader 中解析 URL 中的查询参数
视频课
14分56秒
把查询参数绑定为搜索表单的初始值
视频课
5分36秒
点击搜索按钮更新查询参数
视频课
6分55秒
点击重置按钮清空查询参数
视频课
2分16秒
封装并调用获取文章列表的 API 接口
视频课
7分38秒
封装并初步绘制表格组件的基础结构
视频课
10分31秒
使用 dayjs 格式化文章的发表时间
视频课
1分43秒
实现点击按钮跳转到文章修改页面的功能
视频课
5分6秒
封装删除文章的按钮组件
视频课
13分54秒
调用接口实现删除文章的功能
视频课
10分20秒
解决删除时 loading 不展示的问题
视频课
9分10秒
组件二次封装的规范
视频课
4分5秒
自定义组件时借用 Table 组件的官方属性
视频课
4分27秒
为自定义组件拓展分页所需的额外属性
视频课
7分40秒
为 Table 组件指定分页的配置选项
视频课
11分43秒
监听 page 和 pageSize 的变化重新请求分页数据
视频课
6分26秒
切换分页时保留查询参数中的发表状态和分类 id
视频课
6分25秒
每次触发搜索时将页码值重置为1
视频课
2分17秒
处理分页数据的序号
视频课
4分42秒
实现页码值回退操作并展示 Table 的 loading 状态
视频课
20分3秒
提交文章列表的 Git 分支
视频课
1分36秒
修改文章
定义修改时存储文章信息的 Store 模块
视频课
7分20秒
配置 zustand 的中间件
视频课
7分45秒
初始化文章详情数据并存储到 Store 中
视频课
10分21秒
渲染 Steps 步骤条
视频课
5分19秒
封装修改文章时的基本信息组件
视频课
7分9秒
为基本信息的表单设置初始值
视频课
2分35秒
把变化后的表单更新到 Store 中
视频课
5分51秒
点击按钮进入下一步
视频课
2分57秒
使用 useBeforeUnload 阻止浏览器的刷新
视频课
8分9秒
关于刷新时浏览器弹窗的说明
视频课
1分42秒
说明 useBlocker 的基本语法
视频课
8分34秒
使用 useBlocker 在导航离开前进行弹窗询问
视频课
10分29秒
导航离开之后重置 current 的值
视频课
1分50秒
在 loader 中重置 current 的值
视频课
2分49秒
基于 useRef 实现屏蔽多个弹窗的功能
视频课
5分7秒
快速实现文章封面组件的布局和功能
视频课
9分12秒
快速实现文章内容组件的布局和功能
视频课
6分52秒
按需展示修改文章底部的按钮
视频课
4分4秒
封装接口实现修改文章的功能
视频课
9分7秒
优化修改文章接口调用成功之后的页面逻辑
视频课
2分56秒
使用 useRef 解决按钮闪烁问题
视频课
3分25秒
解决修改文章时 loading 不展示的问题
视频课
1分16秒
封装文章修改成功后的结果组件
视频课
4分25秒
了解如何在路由导航时携带 state 状态
视频课
7分2秒
导航时通过 state 携带 URL 中的查询参数
视频课
3分50秒
自定义封装 CountDown 倒计时组件
视频课
15分39秒
优化倒计时组件的实现逻辑
视频课
6分23秒
处理面包屑导航的路径匹配问题
视频课
9分6秒
提交修改文章的 Git 分支
视频课
1分43秒
Deferred Loader
使用按钮的 disabled 属性屏蔽额外的点击操作
视频课
8分49秒
在提交之前屏蔽按钮额外的点击操作
视频课
3分41秒
使用自定义的 hook 优化个人中心的 loading 展示效果
视频课
5分14秒
分析路由切换时页面卡顿的原因
视频课
4分26秒
介绍 Deferred Data 的基本语法格式
视频课
15分50秒
使用 Deferred Data 完成对文章分类的改造
视频课
6分20秒
封装 delay 函数模拟 Promise 的延迟操作
视频课
6分38秒
自定义封装 loader-error-element 组件
视频课
13分1秒
在 Spin 组件上展示自定义的文本消息
视频课
1分22秒
分析如何基于 defer 改造文章列表的 loader 函数
视频课
4分41秒
改造 ArticleList 组件中的 loader 函数
视频课
2分38秒
在 ArticleList 组件中获取并使用异步数据
视频课
9分24秒
在子组件中使用 useAsyncValue 获取异步数据
视频课
8分5秒
搜索或分页切换时展示 loading 状态
视频课
5分4秒
使用 useAsyncValue 改造删除组件中的代码
视频课
7分2秒
拓展 Chrome 调试工具中的副面板的基本用法
视频课
3分44秒
针对 ArticleAdd 组件中的 loader 函数进行改造
视频课
3分25秒
针对文章分类的下拉菜单进行 loading 的展示
视频课
11分10秒
分类数据请求期间隐藏下一步的按钮
视频课
2分3秒
优化文章列表页面中 loading 遮罩层的覆盖范围
视频课
1分56秒
改造 ArticleEdit 组件中的 loader 函数
视频课
4分28秒
改造 EditBase 组件中文章分类的表单项
视频课
3分52秒
解决修改文章时标题紊乱的问题
视频课
4分10秒
为文章标题的表单项设置 loading 效果
视频课
6分35秒
在 Await 等待期间不展示下一步按钮
视频课
1分24秒
使用 defer 改造 Root 组件中的 loader 函数
视频课
2分55秒
基于 Suspense 和 Await 改造 Root 组件
视频课
4分29秒
使用 useAsyncValue 改造 RootMenu 组件
视频课
6分29秒
改造 RootBreadcrumb 组件中数据的获取
视频课
2分43秒
把 deferred loader 代码进行分支提交
视频课
2分20秒
优化与发布
实现登录失效后的携参跳转
视频课
10分27秒
优化 AuthLayout 组件中的判断逻辑
视频课
4分42秒
自定义路由的错误页
视频课
4分52秒
使用无 path 的 Route 设置子路由的公共错误页
视频课
2分55秒
为注册、登录、后台主页设置自定义的错误页
视频课
1分30秒
自定义路由匹配失败后的404页面
视频课
3分46秒
使用 matchRoutes 匹配合法路径
视频课
11分23秒
如果访问地址是根路径或 home 则不用携带 from 参数
视频课
3分26秒
使用 onFinishHydration 监听数据是否还原完毕
视频课
11分4秒
把登录、注册 和 Root 组件改造为路由懒加载的形式
视频课
7分44秒
把 children 子路由改造为懒加载的形式
视频课
10分26秒
使用 subscribe 监听路由的变化
视频课
8分13秒
在页面资源加载期间使用 nprogress 展示进度条
视频课
5分42秒
把 vite 打包配置拆分到 dev 和 prod 文件中
视频课
11分24秒
解决配置文件的导入路径报错的问题
视频课
1分41秒
项目打包时按照文件类型组织文件夹
视频课
11分24秒
使用 node.js 和 express 托管 web 项目
视频课
6分37秒
删除所有的 console 语句和断点
视频课
3分5秒
以可视化的方式查看打包的结果
视频课
5分1秒
使用 html 插件向网页中注入标题和 script 标签
视频课
12分44秒
解决 html 插件导致的终端黄色警告的问题
视频课
1分28秒
使用 external 指定要排除的依赖包
视频课
5分2秒
通过 injectScript 把 CDN 资源注入到网页中
视频课
6分17秒
通过 externalGlobals 指定映射关系
视频课
6分41秒
抽离 localforage 和 react-quill
视频课
6分3秒
抽离 antd 组件库
视频课
7分
react-router-dom 没必要进行抽离
视频课
5分56秒
使用免费 CDN 资源所存在的问题
视频课
3分52秒
在 node 服务器中开启资源压缩
视频课
4分38秒
项目结束-提交 optimize 分支-噢耶撒花~
视频课
2分33秒

uni-app开发资讯类微信小程序项目实战课程
基于uni-app开发微信小程序项目实战教程
586播放/共184课时

elementplus源码实现(第十期)
教你从0实现自己的elementplus组件库
227播放/共36课时

android支付实战课程集成支付宝支付
课程包含了后端代码,后端异步通知以及数据库的创建
1037播放/共10课时

Python小白也能听懂的入门课
Michael老师,ViaX盐趣签约导师,南洋理工大学博士。新华网大数据分析师、新加坡A-STAR研究中心研究员、曾获“新加坡总统奖学金”、论文曾多次发表在CSWIM、ICIS、ISR、IS等国际会议
396.7万播放/共20课时

elementplus源码实现(第九期)
教你从0实现自己的elementplus组件库
105播放/共56课时

DataTables前端分页通用型解决方案
DataTables前端分页通用型解决方案
11播放/共9课时

Web前端入门:从零开始做网站
带社群答疑服务,赠送全部课件、素材、模版、软件
107.5万播放/共31课时

elementplus源码实现(第八期)
教你从0实现自己的elementplus组件库
91播放/共54课时

前端实战训练:2个网站+1个APP
不止教技术,还教思维的前端系统入门课,手把手带你轻松搞定2个网站+1个APP项目,全场景养成你的思维、技术的高能方法论
54.6万播放/共52课时

网页设计与Falsh动画
本课程包括HTML基础知识、CSS样式、Flash动画特效
87播放/共9课时

python上位机开发
利用python上位机开发案例让你快速掌握python上位机
2.3万播放/共38课时

elementplus源码实现(第七期)
教你从0实现自己的elementplus组件库
68播放/共82课时

Vue3+Claude前端新解法 第一季
左手Vue3右手AI,轻松掌握前端开发,极速打造专属作品。
67播放/共32课时

【Unity与C#实战】从零开发类皇室战争游戏
从0开发一个完整的商业案例,学会后可以自行开发其他3D案例。
36.4万播放/共62课时
评论(0)