收藏

TS+ React18高仿AntD从零到一打造组件库

用当下主流前端技术“造一次轮子”,解决初中级到高级前端的跃迁难题

React18+TS高仿AntD从零到一打造组件库

¥448.00
难度 高级 时长 25小时 学习人数 2064 综合评分 9.99
  • 第1章 课程导学(此章节必看) 试看 3 节 | 26分钟

    介绍了整个课程的背景知识,项目简介,学习流程,可以掌握的知识点,以及学习方法和前置知识。

    收起列表

    • 视频: 1-1 导学(不看错过1个亿) (16:40) 试看
    • 视频: 1-2 代码库使用注意事项(必看) (04:33)
    • 视频: 1-3 2022年更新说明 (04:25)
  • 第2章 欢迎来到类型的世界 - Typescript 试看 17 节 | 136分钟

    本章主要帮助大家理解 TypeScript 可以解决的问题和所带来的优势,带领大家学习 TS 中的各种基础类型,然后进阶到复杂类型,包括:Array, Tuple, interface, function, Class, Enum, Generices等,迅速帮助大家理解 TS 的基础使用方式和语法。 ...

    收起列表

    • 视频: 2-1 什么是 Typescript (05:46) 试看
    • 视频: 2-2 为什么要使用 Typescript (04:56)
    • 视频: 2-3 安装和初试 Typescript (07:06)
    • 视频: 2-4 基础类型 (05:54)
    • 视频: 2-5 any 类型和联合类型 (04:25)
    • 视频: 2-6 Array 和 Tuple (06:05)
    • 视频: 2-7 interface 初探 (06:32)
    • 视频: 2-8 函数和类型推断 (08:06)
    • 视频: 2-9 枚举(Enum) (07:08)
    • 视频: 2-10 泛型(Generics) 第一部分 (07:30)
    • 视频: 2-11 泛型(Generics) 第二部分 - 约束泛型 (06:23)
    • 视频: 2-12 泛型(Generics) 第三部分 - 类和接口 (12:37)
    • 视频: 2-13 类型别名和类型断言 (08:57)
    • 视频: 2-14 声明文件 第一部分 (13:34)
    • 视频: 2-15 声明文件 第二部分 (10:43)
    • 视频: 2-16 内置类型 (08:36)
    • 视频: 2-17 配置文件 (10:43)
  • 第3章 神奇的 React 配合 typescript,完美输出 22 节 | 178分钟

    本章回顾了 React 的基础知识,从而引出了全新的 React Hooks,配合上一章typescript的基础知识,详细讲解了 useState, useEffect, 自定义Hook,useContext 和 useRef 等基础知识,为组件库的开发打下坚实基础。

    收起列表

    • 视频: 3-1 React简介和基础知识回顾 (14:39)
    • 视频: 3-2 配置 react 开发环境 (08:50)
    • 视频: 3-3 第一个组件 - ts为组件助力 (06:26)
    • 图文: 3-4 关于 React18 FC 升级后 children 属性
    • 视频: 3-5 什么是 和 为什么要使用 React Hook (07:25)
    • 视频: 3-6 在函数组件使用 state - useState Hook (09:10)
    • 视频: 3-7 useEffect 第一部分 - 初出茅庐 (05:31)
    • 视频: 3-8 useEffect 第二部分 - 有始有终 (08:18)
    • 视频: 3-9 useEffect 第三部分 - 控制运行 (06:52)
    • 视频: 3-10 自定义 Hook - 重构 MouseTracker (06:48)
    • 视频: 3-11 自定义 Hook 第二部分 - HOC的劣势 (08:10)
    • 视频: 3-12 自定义 hook 第三部分 - 正确的方式完成 URLLoader (07:39)
    • 视频: 3-13 useRef - state遇到的难题 (05:08)
    • 视频: 3-14 useRef - 多次渲染之间的纽带 (07:30)
    • 视频: 3-15 useContext - 解决多层传递属性的灵丹妙药 (10:27)
    • 视频: 3-16 hook 规则和其他 hook (03:52)
    • 视频: 3-17 React18 更新总览 (06:00)
    • 视频: 3-18 React18- createRoot 以及 自动批处理 (12:22)
    • 视频: 3-19 Concurrent 并发的概念 (07:47)
    • 视频: 3-20 TransitionAPI的用法 (13:04)
    • 视频: 3-21 Suspense 的概念 (11:09)
    • 视频: 3-22 实践 Suspense (10:50)
  • 第4章 组件库起航 - 你真的能写的好看起来简单的 Button 组件吗? 12 节 | 96分钟

    本章正式进入组件库的编写,前半部分规定了文件结构和代码规范,分析了样式解决方案,添加了一系列样式的基础元素,后半部分渐进式的完成了 Button 组件的编码工作。

    收起列表

    • 视频: 4-1 组件库开始起航 - 需求分析 (05:28)
    • 视频: 4-2 文件结构和代码规范 (09:17)
    • 视频: 4-3 样式解决方案分析 (07:37)
    • 视频: 4-4 做一次设计师 - 添加自己的色彩体系 (07:02)
    • 视频: 4-5 更多样式变量 - 添加字体变量解决方案 (07:10)
    • 视频: 4-6 初次亮相 - 添加 normalize.css (09:06)
    • 视频: 4-7 Button 组件需求分析 (04:58)
    • 视频: 4-8 小试牛刀 - Button 组件编码 第一部分 (14:18)
    • 视频: 4-9 添加 Button 基本样式 (10:07)
    • 视频: 4-10 升级 Button 组件样式 (12:32)
    • 视频: 4-11 精益求精 - Buton 组件编码第二部分 (08:01) 试看
    • 作业: 4-12 【学习任务】完成 Alert 组件
  • 第5章 组件测试 6 节 | 48分钟

    本章从什么是测试入手,简介了测试的基本概念,介绍通用测试工具 Jest 和 React 测试框架 react-testing-library,然后使用这两种工具完成Button组件的单元测试。

    收起列表

    • 视频: 5-1 为什么要有测试 (07:26)
    • 视频: 5-2 通用测试框架 Jest 出场 (09:36)
    • 视频: 5-3 React 测试工具 - react-testing-library (09:17)
    • 视频: 5-4 添加Button 测试代码 第一部分 (10:33)
    • 视频: 5-5 添加Button 测试代码 第二部分 (10:49)
    • 作业: 5-6 【学习任务】给 Alert 组件添加测试用例
  • 第6章 更上一层楼 - 完成 Menu 组件 12 节 | 111分钟

    本章在前两章的基础上,更上一层楼,完成Menu 组件,从需求分析,到组件编码,到再次分析需求,到再次完成编码,最后完成组件的所有单元测试。

    收起列表

    • 视频: 6-1 Menu 组件需求分析 (07:17)
    • 视频: 6-2 基础架构 - Menu组件编码第一部分 (10:35)
    • 视频: 6-3 需求升级 - Menu 组件编码第二部分 (11:09)
    • 视频: 6-4 添加 Menu 样式 (10:21)
    • 视频: 6-5 测试驱动 - Menu 测试添加 (17:32)
    • 视频: 6-6 日趋完美 - Menu 组件编码第三部分 (09:15)
    • 视频: 6-7 功能继续升级 - SubMenu 下拉菜单编码第一部分 (10:39)
    • 视频: 6-8 添加交互 - SubMenu下拉菜单编码第二部分 (09:29)
    • 视频: 6-9 大功告成 - SubMenu 下拉菜单编码第三部分 (10:18)
    • 视频: 6-10 完美组件 - SubMenu 组件添加测试 (13:51)
    • 作业: 6-11 Tabs 组件
    • 图文: 6-12 Tabs 组件
  • 第7章 他山之石 - Icon 组件 和 Transition 组件 10 节 | 72分钟

    本章介绍怎样使用第三方库 Fontawesome 和 React-Transition-Group 完成图标和 React 动画的解决方案,同时将它们经过自定义,改造成新的组件。

    收起列表

    • 视频: 7-1 图标解决方案简介 (07:41)
    • 视频: 7-2 他山之石 - Icon组件编码第一部分 (10:12)
    • 视频: 7-3 Icon 组件样式添加 (06:00)
    • 视频: 7-4 让图标动起来 - 动画效果第一种实现方法 (08:19)
    • 视频: 7-5 React Transition Group 简介 (07:59)
    • 视频: 7-6 React Transition Group 实践 - 动画效果第二种实现方式 (06:52)
    • 视频: 7-7 尽善尽美 - React Transition Group 添加菜单消失的动画 (06:12)
    • 视频: 7-8 拿来主义 - 自定义 Transition 组件编码第一部分 (10:42)
    • 视频: 7-9 拿来主义 - 自定义 Transition 组件编码第二部分 (07:16)
    • 作业: 7-10 使用 Icon 和 Transition 改造 Alert
  • 第8章 Storybook - 本地调试组件和生成文档页面的利器 10 节 | 78分钟

    本章从 Stroybook 的定义和安装入手,再到怎样添加 Story,安装插件,到最后完成自动生成文档的任务。

    收起列表

    • 视频: 8-1 什么是 Storybook (06:49)
    • 视频: 8-2 安装 Storybook (06:41)
    • 视频: 8-3 Storybook 创建第一个 story (09:59)
    • 视频: 8-4 storybook 中的 args 的概念 (08:19)
    • 视频: 8-5 argTypes 的功能和用法 (10:17)
    • 视频: 8-6 学习使用 parameter 修改插件的配置 (08:39)
    • 视频: 8-7 注释生成文档以及Decorators (08:02)
    • 视频: 8-8 使用 MDX 书写 Story (10:11)
    • 视频: 8-9 CSF 结合 MDX 完成终极目标 (08:31)
    • 图文: 8-10 完成的 storybook 的架构,给剩下的组件添加 stories
  • 第9章 进入表单的世界 - Input 组件和 AutoComplete 组件 12 节 | 119分钟

    本章进入表单的世界,从简单组件 Input 入手,引出 AutoComplete 组件的分析和实现,在这个过程中,我们会学习 异步请求,函数防抖,键盘事件,useRef 等一系列功能。

    收起列表

    • 视频: 9-1 知己知彼 -Input 组件需求分析 (06:09)
    • 视频: 9-2 抛砖引玉 - Input 组件伪代码实现 (08:48)
    • 视频: 9-3 持续优化 - Input组件代码实现和优化过程 (12:11)
    • 视频: 9-4 新的挑战 - AutoComplete组件分析 (09:29)
    • 视频: 9-5 基本骨架 - AutoComplete 编码第一部分 (14:09)
    • 视频: 9-6 AutoComplete 支持自定义模版 (11:21)
    • 视频: 9-7 异步来了 - AutoComplete 支持异步请求编码 (09:42)
    • 视频: 9-8 老瓶新酒 - 使用自定义Hook实现 函数防抖 (11:51)
    • 视频: 9-9 AutoComplete 支持键盘事件 (10:11)
    • 视频: 9-10 妙用 useRef - 实现 clickOutSide 功能- (10:57)
    • 视频: 9-11 完美收尾 - AutoComplete 添加单元测试 (14:08)
    • 作业: 9-12 Select 组件
  • 第10章 终极任务 - Upload 组件 15 节 | 139分钟

    本章实现了 Upload 组件从分析,编码,测试的全过程,在这个过程中,我们将会学到:使用 axios 发送异步请求,在线 mock server 的简单使用,HTTP 异步上传文件的基本知识,拖动文件上传怎样实现,异步和拖动怎样写单元测试。

    收起列表

    • 视频: 10-1 最终任务 - Upload组件需求分析 (06:22)
    • 视频: 10-2 下一代 HTTP 库 - axios (05:54)
    • 视频: 10-3 在线 mock server 和 axios 简单使用 (09:29)
    • 视频: 10-4 上传文件的基本方式 (09:39)
    • 视频: 10-5 完成基本流程 - Upload 组件编码第一部分 (13:23)
    • 视频: 10-6 完善生命周期 - Upload 组件编码第二部分 (08:00)
    • 视频: 10-7 创建列表数据 - UploadList 组件编码第一部分 (13:36)
    • 视频: 10-8 显示上传数据 - UploadList 组件编码第二部分 (11:59)
    • 视频: 10-9 显示上传进度 - 添加 Progress 组件 (10:29)
    • 视频: 10-10 精益求精 - 再次分析 Upload 组件更近一步需求 (06:33)
    • 视频: 10-11 Upload 增强交互第一部分 (08:50)
    • 视频: 10-12 拖动上传 - 支持 Drag and Drop (10:05)
    • 视频: 10-13 异步怎样测试? - Upload 测试第一部分 (12:29)
    • 视频: 10-14 拖动事件怎样测试? - Upload 测试第二部分 (11:20)
    • 图文: 10-15 dragAndDrop 测试升级
  • 第11章 终极大考 - Form 表单组件 17 节 | 197分钟

    本章要完成最复杂的组件 - Form 表单组件,通过这个组件,学习使用复杂组件的分析过程,公共 store 抽取,动态数据更新,表单验证,renderProps 以及 组件暴露实例方法等一系列高阶的知识点。

    收起列表

    • 视频: 11-1 分析 Form 组件的需求 (09:16)
    • 视频: 11-2 创建基本的表单静态展示 (14:07)
    • 视频: 11-3 分析数据交互的思路 (10:07)
    • 视频: 11-4 初始化 useStore (14:12)
    • 视频: 11-5 注册对应的 Item 到 store (09:29)
    • 视频: 11-6 使用黑科技自动更新 store 中的数据 (13:02)
    • 视频: 11-7 更新值第二部分:自定义对应字段 (10:17)
    • 视频: 11-8 更新值第三部分:完善默认值以及修改对应的类型 (12:00)
    • 视频: 11-9 添加验证第一部分:单个 Item 验证 (17:28)
    • 视频: 11-10 验证第二部分:展示错误信息 (10:51)
    • 视频: 11-11 验证第三部分:添加自定义规则 (12:39)
    • 视频: 11-12 验证第四部分:表单整体验证 (18:01)
    • 视频: 11-13 验证第五部分:表单整体验证第二部分 (10:15)
    • 视频: 11-14 使用 renderProps 自定义展示 (08:15)
    • 视频: 11-15 添加组件实例方法第一部分 (06:52)
    • 视频: 11-16 添加组件实例方法第二部分 (14:48)
    • 视频: 11-17 Form表单总结 (05:12)
  • 第12章 Javascript 模块打包 - 需要什么类型的模块供各种环境使用? 9 节 | 62分钟

    本章从 Javacript 模块化历史说起,描述了 webpack 等 bundler 的主要功效,对比不同的模块类型的优劣,然后使用 tsc 打包成 es6 modules,并且使用 npm link 在本地完成测试。

    收起列表

    • 视频: 12-1 Javascript模块化发展历史 (07:19)
    • 视频: 12-2 webpack 到底完成什么任务? - bundler的神奇功效 (06:36)
    • 视频: 12-3 怎样选择 Javascript 模块格式? (06:38)
    • 视频: 12-4 创建组件库模块入口文件 (08:23)
    • 视频: 12-5 驯服tsc - tsconfig 编写第一部分 (08:08)
    • 视频: 12-6 驯服 tsc - tsconfig 编写第二部分 (06:28)
    • 视频: 12-7 生成最终使用的样式文件 (06:09)
    • 视频: 12-8 使用 npm link 本地测试组件库 第一部分 (06:28)
    • 视频: 12-9 使用 npm link 本地测试组件库 第二部分 (05:14)
  • 第13章 大功告成 - 发布到 Npm,以及添加 CI/CD 支持 8 节 | 57分钟

    本章从 Npm 的简介开始,介绍了怎样将组件库发布到 npm,然后优化了 package.json 的依赖,再到添加 commit 和发布检查,最后介绍了使用 travis 完成组件库 CI/CD 的一些基本流程。

    收起列表

    • 视频: 13-1 Npm 简介 (05:31)
    • 视频: 13-2 发布组件库到 npm (07:37)
    • 视频: 13-3 瘦身任务 - 精简 package.json 依赖 (07:12)
    • 视频: 13-4 万无一失 - 添加发布和 commit 前检查 (09:17)
    • 视频: 13-5 使用 Storybook 生成静态文档页面 (07:40)
    • 视频: 13-6 CI CD 简介 (04:59)
    • 视频: 13-7 使用 travis 自动运行测试 (08:02)
    • 视频: 13-8 使用 travis 自动发布文档页面 (06:31)
  • 第14章 使用 Rollup 打包多种模块格式 7 节 | 65分钟

    本章先介绍 Rollup 的概念以及简单使用,然后学习使用 Rollup 插件以及配置文件生成多种 Javascript 模块格式。

    收起列表

    • 视频: 14-1 Rollup 简介 (08:41)
    • 视频: 14-2 Rollup 插件的简单使用 (09:38)
    • 视频: 14-3 Rollup 打包 ES 格式第一部分 (08:49)
    • 视频: 14-4 Rollup 打包 ES 格式第二部分 (08:53)
    • 视频: 14-5 Rollup 打包 UMD 格式第一部分 (12:22)
    • 视频: 14-6 Rollup 打包 UMD 格式第二部分 (08:05)
    • 视频: 14-7 整合最终的打包配置文件 (07:37)
  • 第15章 课程总结 1 节 | 9分钟

    本课程的回顾和总结以及展望。

    收起列表

    • 视频: 15-1 课程总结 (08:20)
本课程已完结

试看

全部试看小节



讲师

张轩 Web前端工程师

曾在Apple、百度担任高级前端开发工程师,是《React全栈:Redux Flux webpack Babel整合开发》该书作者,拥有丰富的Web开发经验,喜欢追寻新技术,同时致力于前端工程化,并且有大型SPA项目的架构及开发经验。

讲师其他课程

课程预览

检测到您还没有关注慕课网服务号,无法接收课程更新通知。请扫描二维码即可绑定
重新观看
意见反馈 帮助中心 APP下载
官方微信

学习咨询

选课、学习遇到问题?

扫码添加指导老师 1V1 帮助你!

添加后老师会第一时间解决你的问题