Typescript进阶 Created at 2023-06-01 Modified at 2024-04-21 typescript, 前端进阶 变型:协变、逆变、不变性讲的最好的协变、逆变 条件类型T extends U ? T : never,T如果可以分配给U,则返回类型T,否则返回never; 注意,当T是联合类型时,相当于对T的每种子类型单独应用条件类型,然后再把结果联合,如: 12345type a = 1 | 2 | "3" | "4";type b<T> = T extends number ? T : never;type c = b<a>; // 1 | 2 阅读全文
React v17.0.2源码 Created at 2023-05-31 Modified at 2024-04-21 react, 前端进阶 资源一览 React v17.0.2源码在线编辑器(vscode) React v17.0.2源码仓库(github) React内部函数调用关系草图Mount阶段大致如下,可供参考,缩进意为被上一层调用,标记!!!的注释意为核心代码。 阅读全文
react-router详解 Created at 2023-05-28 Modified at 2024-04-21 react-router, 前端进阶 客户端路由(CSR)原理传统浏览器导航行为就是URL改变时直接向服务器发送请求,服务器响应对应资源,而客户端路由就是URL改变时不再发送请求,而是由客户端部署的App自行匹配URL并展示对应内容。 remix/history (v5.3)是react-router实现CSR的核心库,其中CSR分为两种: URL Hash Browser History 阅读全文
Redux详解 Created at 2023-05-03 Modified at 2024-04-21 redux, 前端进阶 Redux简介Redux是一个集中存储和管理全局状态的库,通过reducer纯函数来定义怎样更新state,然后通过dispatch action更新state,state每次更新都要返回一个新对象,也就是说state是不可变的。 基于reducer纯函数和不可变state,redux应用可以实现时间旅行式的调试; 特点: 单一数据源store; 阅读全文