记录uniapp组件报警告Maximum recursive updates exceeded in component <View>

今天写了一个瀑布流报错如下
Maximum recursive updates exceeded in component . This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.

经排查是因为组件中写image一个方法造成的,这就是纯属自己想不开,这里我想写一个计算让图片高度自适应,后来报警告想了一下image mode=“widthFix” 不就是 宽度不变,高度自动变化,保持原图宽高比不变。

错误代码

 <image
  :src="$App.cdnSrc(item?.image)"
   class="item-img"
   :style="{ height: imgHeight + 'rpx' }"
   @load="onImgLoad"
 />

const imgHeight = ref(240);
let onImgLoad = (e) => {
  // 当图片加载完成后,获取图片的原始宽度和高度,并根据宽度计算出高度
  try {
    const { width, height } = e.detail || e.mp.detail;
    imgHeight.value = (height / width) * 100; // 高度 = 原始高度 / 原始宽度 * 100
  } catch (e) {
    //TODO handle the exception
    console.log("onImgLoad", e);
  }
};

正确的

<image
 :src="$App.cdnSrc(item?.image)"
  mode="widthFix"
  class="item-img"
/>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

给钱,谢谢!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值