codeType
1. 自我介绍
2. less的mixin和extends
3. 父元素宽度不确定,子元素纵向居中
4. 0.1 + 0.2 === 0.3 以及其解决办法
5. Promoise及其API
6. Performence的性能指标以及lighthouse的性能指标
7. SSR和CSR相比有什么优缺点
8. SSR、SSG、ISG等方式及其使用场景
9. 水合出问题的场景
10. 项目中虚拟列表的实现
11. 埋点hooks的实现 页面停留时长场景的改进
12. React中的hooks
1. less的mixin和extends
2. 父元素宽度不确定,子元素纵向居中的方法
- 用flex布局的纵轴居中
- 用绝对定位+transform
codeType
.parent {
position: relative;
}
.child {
position: absolute;
top: 50%;
transform: translateY(-50%);
}
3. JS 中 0.1 + 0.2 不等于 0.3 的原因与解决方案
JS 中 0.1 + 0.2 不等于 0.3 的原因与解决方案
4.Promise及其API
5.Performance以及lighthouse
6.SSR与CSR
7.SSR、SSG、ISG
以论坛网站为例子,三种策略的具体适用场景。
- 首页 → ISR 每 30 秒刷新一次展示:帖子列表、热榜、板块导航
- 板块列表页 → ISR 每 60 秒刷新数据:该板块下的帖子
- 单篇帖子详情 → ISR 每 10~30 秒刷新发帖 / 评论后,后台可主动触发刷新,立即更新
- 用户个人中心(我的)→ SSR 必须实时、每个人不同
- 关于我们 / 论坛规则 → SSG 永远不变
- 搜索结果页 → CSR(客户端渲染) 输入关键词才请求,不做 SEO 要求
- 管理后台 → SSR 实时权限 + 实时数据
8.水合出问题的场景
9.虚拟列表的实现
10.埋点数据有效的改进
- React中的hooks hooks的实现原理 状态管理类:useState\useContext\useReducer 生命周期类:useEffect\useLayoutEffect 性能优化:useMemo\useCallback\memo 数据缓存/dom获取:useRef 组件封装(对外暴露dom与封装方法):forwardRef与useImperativeHandle 优先级:useTransition\useDeferredValue