由于useLayoutEffect钩子是在dom获得后、渲染组件前。因此,如果在useLayoutEffect中设置一些长耗时的,或者死循环之类的任务,会导致内存堆栈溢出。这时候需要转用useEffect。
// 适配全局宽度拉动变化时,legend显示数量React.useEffect(() => {const onResize = debounce(() => {let totalWidth = 0;const els = itemWrapRef.current;const spaceEl = spaceWrapRef.current;const { length } = options;let maxNum: number = length;let _noFullOpts = [...options];let isShow = false;els.forEach((el: any, index: number) => {// 累计宽度是否大于容器宽度,为了计算最大容个数if (el?.offsetWidth && spaceEl?.clientWidth) {const flag = totalWidth + el?.offsetWidth > spaceEl?.clientWidth;// console.log('width===>', spaceEl.clientWidth, totalWidth, flag);if (!flag) {maxNum = index + 1;totalWidth += el?.offsetWidth;isShow = false;} else {isShow = true;}if (length > 1) {_noFullOpts = options.slice(0, maxNum);}}});setIsShowMore(isShow);setNoFullOpts([..._noFullOpts]);}, 50);onResize();window.addEventListener('resize', onResize);return () => {window.removeEventListener('resize', onResize);};}, [options]);
当前位置:首页
>> 核电技术聚变聚能设备 >> 【react】慎用useLayoutEffect转而使用useEffect,夏普gx32(夏普r ufs)
【react】慎用useLayoutEffect转而使用useEffect,夏普gx32(夏普r ufs)
cpugpu芯片开发光刻机
核电技术聚变聚能设备
7
文件名:【react】慎用useLayoutEffect转而使用useEffect,夏普gx32
【react】慎用useLayoutEffect转而使用useEffect
同类推荐
-

【RS码1】系统RS码编码原理及MATLAB实现(不使用MATLAB库函数),飞利浦x530
查看 -

【Redis】Java Spring操作redis,联想家悦s系列
查看 -

【Redis】Redis做为缓存,MySQL如何与Redis保持数据一致,看大片用哪个软件
查看 -

【Redis】Redis缓存使用问题,ipod touch4论坛
查看 -

【Redis】hash数据类型-常用命令,罗技m505
查看 -

0879的区号为什么是佤邦?(0879的区号为什么是佤邦的)
查看 -

【Redis学习1】Redis持久化机制详解,身份证号码生成器
查看 -

1-10月甘肃全社会用电量累计1054.63亿千瓦时 同比增长12.06%
查看 -

1-11月全国电力供需总体宽松 全社会用电量增速同比提高
查看