【问题标题】:How to convert a masonry JS script to React?如何将砌体 JS 脚本转换为 React?
【发布时间】:2020-12-27 17:19:23
【问题描述】:

有人可以帮我转换下面 codepen 上链接的 masonry JS 脚本,以便在反应应用程序中使用吗?

CodePen - CSS Grid Masonry

function resizeGridItem(item){
  grid = document.getElementsByClassName("grid")[0];
  rowHeight = parseInt(window.getComputedStyle(grid).getPropertyValue('grid-auto-rows'));
  rowGap = parseInt(window.getComputedStyle(grid).getPropertyValue('grid-row-gap'));
  rowSpan = Math.ceil((item.querySelector('.content').getBoundingClientRect().height+rowGap)/(rowHeight+rowGap));
    item.style.gridRowEnd = "span "+rowSpan;
}

function resizeAllGridItems(){
  allItems = document.getElementsByClassName("item");
  for(x=0;x<allItems.length;x++){
    resizeGridItem(allItems[x]);
  }
}

function resizeInstance(instance){
    item = instance.elements[0];
  resizeGridItem(item);
}

window.onload = resizeAllGridItems();
window.addEventListener("resize", resizeAllGridItems);

allItems = document.getElementsByClassName("item");
for(x=0;x<allItems.length;x++){
  imagesLoaded( allItems[x], resizeInstance);
}

我开始使用 React 应用程序,我想得到一点帮助,请...

提前谢谢你,非常感谢。

最好的问候

【问题讨论】:

  • 你可以尝试使用这个库,npmjs.com/package/react-responsive-masonry 吗?
  • @DatHo,您好,谢谢您的回复。这个砌体模块不符合我的要求。我想要一个基于柱子最小高度的砌体,就像给出的例子一样。

标签: javascript reactjs masonry


【解决方案1】:

有关信息,我发现库“react-masonry-component”完全符合我的要求。

【讨论】:

    猜你喜欢
    • 2021-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-03
    • 1970-01-01
    • 1970-01-01
    • 2013-11-21
    • 1970-01-01
    相关资源
    最近更新 更多