- 多层组件嵌套优化(唯一key、虚拟列表、组件缓存Vue.memo、keep-alive、React.memo\状态管理ref\reactive\nextTick\uueState\useMemo\useCallBakc、)
- 组件状态值未修改却触发视图重新渲染:响应式对象引用变化、props引用变化、全局状态订阅、props引用变化、回调函数未缓存、全局状态订阅、排查引用类型变化、优化组件缓存、精准订阅状态、避免不必要的引用创建
- 如果有5个请求要同时发起,那么你要怎么处理请求,包含容错和交互
使用Promise.allSettled并发发起5个请求,保证部分失败不阻塞整体 统一控制loading,避免多次闪烁 成功给数据,失败给兜底默认值 关键接口加入失败重试机制 对不同接口做分级容错 最终统一处理结果
all:等全部,一错全错 (必须要全部成功才能展示) allSettled:不管成败,全部给结果(要容错部分失败不影响页面) race:谁快听谁,成败都算 (要超时控制) any:谁先成功听谁,全败才报错 (要多个接口取一个最快能用的)
- webpack和vite区别
webpack先打包所有代码,再启动开发服务,是先打包后运行,生态好,插件多兼容性好 vite:先启动服务,再按需加载模块。是原生ESM+按需编译。(esbuild预构建+原生ESM按需加载)
5.TS泛型常用在哪里