我目前正致力于在我们的新闻网站上实施砌体设计,该网站也将包含推文。但是,由于推文在 Masonry加载后被渲染,我被卡住了。
但我发现这可以通过jQuery解决;示例(https://codepen.io/ziegfiroyt/pen/KMVYPZ):
// Twitter widget is loading.
window.twttr = function (d, s, id) {
var t, js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return; js = d.createElement(s); js.id = id;
js.src = "https://platform.twitter.com/widgets.js";
fjs.parentNode.insertBefore(js, fjs);
return window.twttr || (t = { _e: [], ready: function (f) { t._e.push(f) }
});
}(document, 'script', 'twitter-wjs');
// When widget is ready, run masonry
twttr.ready(function (twttr) {
twttr.events.bind('loaded', function (event) {
$('.grid').masonry({
itemSelector : '.grid-item',
columnWidth : 300,
gutter: 20
});
});
});
唯一的问题是,我们的整个网络应用程序都是在React中创建的,而且我已经读到混合使用jQuery和React是不合适的。
所以在这种情况下,有没有办法将这个jQuery代码转换成React?它是我们网站的一个关键设计功能,在解决之前我们无法继续前进。
先感谢此处的任何人!