1.当后端传给前端的值存在精度问题,前端应该如何解决
- 运算前先乘以10的n次幂,运算结算再除去
- 使用toFixed取小数点后几位,默认会五舍六入
- 将一个浮点数转成整数,拿到对应整数和倍数。之后进行运算,结束后再除以倍数
2.react中class的ref与函数的ref有什么区别
- 函数用useRef,class用createRef声明
3.useEffect的依赖项发生改变后,return会执行吗
- 无依赖项时,首次加载会执行useEffect第一个参数函数的return外的部分,每次更新时会先执行return内部分,再执行return外的部分。
- 依赖项为空数组([])时,会在页面首次加载时运行useEffect 第一个参数的那个函数,类似于执行componentDidMount,且只执行一遍,函数内return 的函数会在页面即将销毁时或移除组件时执行,类似于执行componentWillUnMount
- 依赖项不为空时,首次加载会执行useEffect第一个参数函数的return外的部分,每次依赖项更新时会先执行return内部分,再执行return外的部分 blog.csdn.net/CX345678/ar…
4.useEffect的渲染机制和fiber的关系
juejin.cn/post/720333… 多看几遍,直至完全理解
5.浏览器的事件机制
- 由于js是单线程,为防止阻塞渲染,内部任务分为同步任务和异步任务
- 其中异步任务又分为宏任务和微任务
- 宏任务和微任务会各自维护一个任务队列
- 当一个宏任务出队执行后,其对应的微任务队列里的所有任务会被一次性执行完。循环往复
- 常见的宏任务有setTimeout、setInternal
- 常见的微任务有promise
6.BFC是什么
- BFC是指块级作用域上下文
- 其实它就是一个完全独立的空间(布局环境),其内的子元素不会影响到外面的布局
- 其内的子元素会垂直排列
- 属于同一个
BFC的两个相邻的标签外边距会发生重叠(用两个BFC可以解决margin塌陷) - 可以触发BFC的条件
- overflow除了visible以外的值
- position为absolute或者fixed
- body根元素
- 浮动元素:float除none以外的值