我正在使用一个名为gridalicious的jquery插件以类似于拼贴的网格样式显示我的图像,在第一次渲染时效果很好,当我在componentDidUpdate方法中调用它时,会将样式应用于我的元素并正确显示它们...
现在的问题是,当我需要更新图库并添加新元素时,gridalicious包括自己的方法来添加新元素,从而避免更改先前加载的图像的位置和大小...。
$('#append').click(function(){
$("#example3").gridalicious('append', makeboxes());
});
我最初的想法是将这些图像添加到我的状态,React很(实际上是)很聪明,注意到那里只需要添加一些图像,然后再次运行该库以自定义大小和位置。麻烦的是,当我这样做时,我的先前图像已针对该库进行了修改,并更改了它们的大小,外观甚至位置……请注意,网格库会应用一些算法来确定最佳的大小,位置和排序顺序图像并显示它们以获得拼贴效果...
我想我需要避免react再次渲染图库(我猜应该使用shouldComponentUpdate),并使用jquery lib添加新组件,我需要react的绑定,因为当我单击图像时,会出现信息和其他详细信息,因此,我确实需要反应的力量,但是我需要找到一种方法来整合两个库,谢谢!
刚才该网站似乎已经关闭,我希望它会尽快修复suprb.com/apps/gridalicious/非常感谢!
最佳答案
这些交互必须在React外部处理。当我不得不做这些事情时,我使用生命周期方法componentDidMount
和componentDidUpdate
来用jQuery处理DOM。