react-router v6 createBrowserRouter推荐使用的路由器,使用Dom History API import React from 'react'; import ReactDOM from 'react-dom/client'; import App from './App'; import { createBrowserRouter, RouterProvider } from 'react-ro 2023-07-12 web #react
漫长的 打个响指吧,他说 我们打个共鸣的响指 遥远的事物将被震碎 面前的人们此时尚不知情 吹个口哨吧,我说 你来吹个斜斜的口哨 像一块铁然后是一枚针 磁极的弧线拂过绿玻璃 喝一杯水吧,也看一看河 在平静时平静,不平静时 我们就错过了一层台阶 一小颗眼泪滴在石头上 很长时间也不会干涸 整个季节将它结成了琥珀 块状的流淌,具体的光芒 在它身后是些遥远的事物 2023-05-09 漫长的季节 #漫长的季节
React18新特性 Render Api为了更好的管理root节点,React 18 引入了一个新的 root API,新的 root API 还支持 new concurrent renderer(并发模式的渲染),它允许你进入concurrent mode(并发模式)。 // React 17 import React from 'react'; import ReactDOM from 'react-dom'; 2023-05-07 web #react
Vercel部署流程 1. 导入github项目Vercel New Project 绑定Github账号,并选择Github项目,点击Deploy即可 2. 设置阿里云域名解析在阿里云域名解析设置中,添加两条记录 3. Vercel添加域名在Domains中添加第二步中配置好的域名 2023-04-22 vercel #vercel
React-桑基图 桑基图 桑基图(Sankey diagram),即桑基能量分流图,也叫桑基能量平衡图。它是一种特定类型的流程图,右图中延伸的分支的宽度对应数据流量的大小,通常应用于能源、材料成分、金融等数据的可视化分析。因1898年Matthew Henry Phineas Riall Sankey绘制的“蒸汽机的能源效率图”而闻名,此后便以其名字命名为“桑基图”。 2023-02-28 web #react
redux及Redux ToolKit Redux是什么Redux 是一个使用叫做 “action” 的事件来管理和更新应用状态的模式和工具库 它以集中式 Store 的方式对整个应用中使用的状态进行集中管理,确保状态只能以可预测的方式更新。 Redux ToolKit是什么Redux Toolkit 是官方推荐的编写 Redux 逻辑的方法。 它包含我们对于构建 Redux 应用程序必不可少的包和函数。 Redux Toolkit 的 2023-01-08 web #react #redux
TS-infer关键字 infer在条件类型中申明泛型,使用infer关键字 有以下两个限制: 只能在条件类型的extends子句中使用 infer得到的类型只能在true语句中使用 申明一个条件类型Element,获取数组中元素的类型: type ElementType<T> = T extends unknown[] ? T[number] : T type A = ElementType<numbe 2022-11-13 web #typescript
面试记录 2022.08.19量投科技2022.08.22鲁班软件1. TS泛型的理解 在定义函数、接口或者类的时候,不预先指定具体的类型,而是在使用的时候再指定类型的一种特性。 提高代码可重用性,使用泛型来创建可重用的组件,一个组件可以支持多种类型的数据。 function f<T>(arg: T): T { return arg; } 2. html性能优化 HTML 优化 减少 if 2022-08-19 web #面试
手写webpack markdown-loader loader作为webpack的核心,负责资源文件从输入到输出的转换 实现///readme.md ## MarkDown-Loader ///index.js import md from './readme.md'; document.write(md); ///markdown-loader.js ///loader的返回必须是js代码 const { marked } = requi 2022-04-20 web #webpack
TypeScript学习记录 基础类型数字 numberconst level: number = 6 字符串 stringcosnt name: string: "huangping" 布尔值 booleanconst isBoy: boolean = true 数组 arrayconst list: number[] = [1, 2, 3] 元组 Tuplelet x: [string, number]; x = 2022-03-27 web #typescript
伪类和伪元素 伪类伪类是添加到选择器的关键字,用于指定所选元素的特殊状态。例如,伪类 :hover 可以用于选择一个按钮,当用户的指针悬停在按钮上时,设置此按钮的样式。 /* 用户的指针悬停在其上的任何按钮 */ button:hover { color: blue; } 伪类由冒号(:)后跟着伪类名称组成(例如,:hover)。函数式伪类还包含一对括号来定义参数(例如,:dir())。附上了伪类的元素被 2021-10-09 web #css
稀疏数组与密集数组 前言 在工作中,经常会遇到这种情况,想要获得内容为数字1-10的数组,使用以下方法确得不到相应的结果 let arr = new Array(10).map((_, i) => i + 1) 这是为什么呢,这就引出以下这个概念稀疏数组 稀疏数组 什么是稀疏数组呢?顾名思义,就是不连续的数组,数组元素之间存在间隙。上面生成数字的代码结果如下,会发现是10个empty。 2021-07-15 web #javascript #数组