如何在React/Preact应用程序中运行常规JavaScript
我试着在一个Preact应用程序中使用砖石,试着使用react/compat,但都失败了 这就是我尝试的方式:如何在React/Preact应用程序中运行常规JavaScript,javascript,reactjs,preact,Javascript,Reactjs,Preact,我试着在一个Preact应用程序中使用砖石,试着使用react/compat,但都失败了 这就是我尝试的方式: const App = () => ( <Landing name="shoecare"> <!-- all the working code --> <!-- here --> <script src="https://unpkg.com/masonry-layout@4.2.
const App = () => (
<Landing name="shoecare">
<!-- all the working code -->
<!-- here -->
<script src="https://unpkg.com/masonry-layout@4.2.2/dist/masonry.pkgd.min.js"></script>
<script>
var grid = document.querySelector(".how__list");
new Masonry(grid, {
itemSelector: ".how__item",
columnWidth: document.querySelctor('body').clientWidth / 2 - 16,
});
</script>
<!-- end -->
</Landing>
);
clab(<App />);
const-App=()=>(
var grid=document.querySelector(“.how__列表”);
新砌体(格栅、{
项目选择器:“.how\u项目”,
columnWidth:document.querySelctor('body').clientWidth/2-16,
});
);
克拉布(
可能吗
我设法运行了一些常规的jsonclick,就像这样
<span class="services__nav-previous" onClick={(e) => scrollLeft()}>
scrollLeft()}>
我猜您使用的是功能组件,所以要在其中包含任何js代码,您应该这样做
const App = () => {
// your js code here
return (
// here you put your components
)
}
编辑:你不把放在你的功能组件中,你把它们添加到index.html文件中,而不是app.js中。我面临的问题是我在Preact方面没有经验(我没有开发这个应用),但是如果我尝试你建议的高亮崩溃:有什么想法吗?检查你的括号,在const app=()=>应该是{}not(),你可以尝试教程来了解它是如何工作的。对不起,你是对的。但是问题仍然存在,我希望我有时间来解决。正如我提到的,我已经很晚了。将返回括号改为()not{},my Fault您可能会发现这很有用。您可以使用ref
获取react呈现的DOM元素的句柄,然后可以运行useffect
来设置非react组件: