reactjs 图像区域Map显示无限大而非数值

wz1wpwve  于 2022-12-03  发布在  React
关注(0)|答案(1)|浏览(126)

我使用react-image-mapper库在图片上放置可点击区域,在初始加载时,生成的html显示的区域值为无穷大,导致图片不可点击。在重新加载页面后,Map工作正常。看起来当页面初始加载然后缓存时,库的计算速度不够快。
我正在使用NextJS来构建应用程序,它应该可以工作,但不知道为什么它在初始页面加载时不工作。
我不介意找到一个变通办法,比如在页面初始加载时进行快速重新加载,或者在后台计算完成时向用户显示一个微调器。
谢谢你的帮助!

**初始页面加载:**x1c 0d1x
重新加载后:

cyvaqqii

cyvaqqii1#

对于遇到同样问题的人,我无法解决这个问题,但找到了一个解决办法。在useEffect中,我放了一个setTimeout函数来检查coords属性的值,如果它是Infinity,页面就会重新加载。

useEffect(() => {
    setTimeout(() => {
      let mapCoordsInfinity = document
        .getElementsByTagName('map')[0]
        .areas[0]?.attributes[1]?.nodeValue?.toString()
        .includes('Infinity');

      if (mapCoordsInfinity || mapCoordsInfinity === undefined) {
        router.reload();
      }
    }, 1000);
  }, []);

重新加载发生得如此之快,你甚至没有注意到它,所以它应该是好的,现在,直到我能想到一个更好的修复下来的路线。希望这有助于有人在未来!

相关问题