我有一个网站设计,其中包含没有任何框架的javascript。现在,我处于开发过程中,需要针对特定过程使用javascript框架(如react)。那么,它是否可行,还是我需要将所有内容都转换为框架?我正在使用Laravel,如何在Laravel框架内为单个网站制作多个React应用?
答案 0 :(得分:1)
是的。这正是Facebook旨在通过创建React解决的问题。最初,他们仅将React用于部分评论系统和聊天。
您可以创建一个React组件,并仅在您网站的一部分中使用它。您只需要为其提供安装位置。也就是说,在其中挂载应用程序的div。
检查documentation for React DOM和integration guide,以获取有关渲染到DOM的更多信息。基本思想是创建您的组件,然后使用以下代码对其进行渲染:
ReactDOM.render(element, container[, callback])
答案 1 :(得分:1)
从React文档中:
React可以在任何Web应用程序中使用。它可以被嵌入到其他应用程序中,而无需担心,其他应用程序可以被嵌入到React中。
要将React与其他库或框架集成,请查看React集成指南:https://reactjs.org/docs/integrating-with-other-libraries.html
答案 2 :(得分:1)
是的,您可以从react库创建全局窗口渲染器函数,然后从vanilla js或其他一些第三方库(如jquery)中调用它。您只需包含缩小的js即可调用该函数。
类似以下内容的反应
const app = (parameter1,parameter2) => (
<YourComponent parameter1={parameter1} parameter2={parameter2}/>
);
window.renderYourComponent = function (p1, p2) {
render(app(p1,p2), document.getElementById('your_div'));
}
在您的普通js上
<script type="text/javascript" src="your_minified_react.js"></script>
<div id='your_div'></div>
window.renderYourComponent("p1","p2");
所有内容都将显示在“ your_div”中,您可以单独进行反应
答案 3 :(得分:0)
是的,您可以在Laravel框架内为单个网站制作多个React应用。 Laravel通常将刀片模板用于前端UI。 您需要做的是构建React应用程序,并将构建的React应用程序与Laravel刀片集成。 例如,您可以将React应用程序的全部构建内容复制到Laravel主页刀片中。 此外,在React内以导入自定义Javascript文件,您可以使用多种方式,例如脚本标签和webpack复制模块。