11/15
- minimist (构建脚本)
11/16
- webpack less module配置
{
test: /\.less$/,
use: [
{
loader: "style-loader",
},
{
loader: "typings-for-css-modules-loader?modules",
options:{
modules: true, // 使用css modules
namedExport: true, // 类名导出
camelCase: true, // 支持驼峰
localIdentName: '[local]__[hash:base64:5]' // 定义类名
}
},
{
loader: "less-loader",
},
// 在这里引入要增加的全局less文件
{
loader: 'style-resources-loader',
options: {
patterns: path.resolve(__dirname, './src/styles/index.less')
}
}
],
}
- 在react中使用history模式路由时,需要在devServer中配置historyApiFallback属性
11/18
- Form.Item嵌套问题
11/19
- 组件不断闪烁,因为不断自省lazy加载
- 图标刷新时,保证echart实例只初始化一次,使用setstate保存
11/23
- ts39提案(array.at()、Object.hasOwn、findLastIndex、Import Assertions、temporal)
- css模块化对ui组件库样式修改的影响,使用css文件对组件进行样式重置
11/24
- event loop
- 工具质量 = 工具节省的时间/使用工具消耗的时间 (redux, rematch)
11/25
- React useid(ssr服务端渲染)
- hydrate:ssr时服务器输出的是字符串,而浏览器端需要根据这些字符串完成react的初始化工作,比如创建组件实例,这样才能响应用户操作。这个过程就叫hydrate,有时候也会说re-hydrate,可以把hydrate理解成给干瘪的字符串”注水’’
11/29
- JSON.stringify(存储函数)
- eval缺点(安全性(数据源)、运行效率、作用域、内存)
- 包装对象
- monaco-editor配置项、缩略图(miniMap)
11/30
- effects list重构,将遍历链表,重构为采用冒泡的方式遍历树,是因为
suspense
v18和v16有了区别,在v16版本中,对于不少异步加载的组件,还是会进行render
但是会采用display:none的方式隐藏掉,但是在v18中针对Suspense
内「不显示的子树」做了单独的处理,既不会渲染display: none
的内容,也不会执行useEffect
回调 - Boolean(document.all),主要是为了兼容
- useEffect第二个参数最好不要使用引入类型,因为采用的是浅比较,调用的是Object.is()
- 渲染问题:
React
和Vue
,react每次参数变化就会造成整个组件的刷新,但是vue并不会,例如computed里面不断刷新,但是整个组件并不会不断的执行,可使用use-deep-compare-effect
插件进行优化