009-TS+React18全流程开发UI组件库
# TS+ React18高仿AntD从零到一打造组件库
从零到一高仿 AntD 使用 Typescript 和 React 开发组件库,在这其中穿插了一系列的知识点: 大型项目的样式组织,react 组件测试,react 动画实现。开发完毕还实现了模块化打包,代码发布再到 CI/CD 的全流程。
# 课程目标
- React18 +TS 开发UI组件,全流程、全体系复刻大厂标准
- 新框架特性深研+全流程组件开发,在“造轮子”的过程中,收获扎实的实战技能
- 完整模拟大厂组件库开发流程:分析→开发→测试→打包→发布,打造优质组件库
- 由易到难实现典型10大组件,包括大魔王 Upload和Form组件
- 使用storybook无缝衔接,生成直接可交互的文档页面
- 升级到 React 18,学习前沿的特性
# 课程介绍
第1章 课程导学
- 介绍了整个课程的背景知识,项目简介,学习流程,可以掌握的知识点,以及学习方法和前置知识。
第2章 欢迎来到类型的世界 - Typescript
- 本章主要帮助大家理解 TypeScript 可以解决的问题和所带来的优势,带领大家学习 TS 中的各种基础类型,然后进阶到复杂类型,包括:Array, Tuple, interface, function, Class, Enum, Generices等,迅速帮助大家理解 TS 的基础使用方式和语法
第3章 神奇的 React 配合 typescript,完美输出
- 本章回顾了 React 的基础知识,从而引出了全新的 React Hooks,配合上一章typescript的基础知识,详细讲解了 useState, useEffect, 自定义Hook,useContext 和 useRef 等基础知识,为组件库的开发打下坚实基础。
第4章 组件库起航 - 你真的能写的好看起来简单的 Button 组件吗?
- 本章正式进入组件库的编写,前半部分规定了文件结构和代码规范,分析了样式解决方案,添加了一系列样式的基础元素,后半部分渐进式的完成了 Button 组件的编码工作。
第5章 组件测试
- 本章从什么是测试入手,简介了测试的基本概念,介绍通用测试工具 Jest 和 React 测试框架 react-testing-library,然后使用这两种工具完成Button组件的单元测试。
第6章 更上一层楼 - 完成 Menu 组件
- 本章在前两章的基础上,更上一层楼,完成Menu 组件,从需求分析,到组件编码,到再次分析需求,到再次完成编码,最后完成组件的所有单元测试。
第7章 他山之石 - Icon 组件 和 Transition 组件
- 本章介绍怎样使用第三方库 Fontawesome 和 React-Transition-Group 完成图标和 React 动画的解决方案,同时将它们经过自定义,改造成新的组件。
第8章 Storybook - 本地调试组件和生成文档页面的利器
- 本章从 Stroybook 的定义和安装入手,再到怎样添加 Story,安装插件,到最后完成自动生成文档的任务。。
第9章 进入表单的世界 - Input 组件和 AutoComplete 组件
- 本章进入表单的世界,从简单组件 Input 入手,引出 AutoComplete 组件的分析和实现,在这个过程中,我们会学习 异步请求,函数防抖,键盘事件,useRef 等一系列功能。
第10章 终极任务 - Upload 组件
- 本章实现了 Upload 组件从分析,编码,测试的全过程,在这个过程中,我们将会学到:使用 axios 发送异步请求,在线 mock server 的简单使用,HTTP 异步上传文件的基本知识,拖动文件上传怎样实现,异步和拖动怎样写单元测试。
第11章 终极大考 - Form 表单组件
- 本章要完成最复杂的组件 - Form 表单组件,通过这个组件,学习使用复杂组件的分析过程,公共 store 抽取,动态数据更新,表单验证,renderProps 以及 组件暴露实例方法等一系列高阶的知识点。
第12章 Javascript 模块打包 - 需要什么类型的模块供各种环境使用?
- 本章从 Javacript 模块化历史说起,描述了 webpack 等 bundler 的主要功效,对比不同的模块类型的优劣,然后使用 tsc 打包成 es6 modules,并且使用 npm link 在本地完成测试。
第13章 大功告成 - 发布到 Npm,以及添加 CI/CD 支持
- 本章从 Npm 的简介开始,介绍了怎样将组件库发布到 npm,然后优化了 package.json 的依赖,再到添加 commit 和发布检查,最后介绍了使用 travis 完成组件库 CI/CD 的一些基本流程。
资源下载 (opens new window)提取码: http://dt3.8tupian.net/2/29369a295b200.pg1
编辑 (opens new window)
上次更新: 2024/07/24, 09:54:49