一个网站可以同时使用简单的JavaScript和React吗

时间:2018-10-25 04:04:29

标签: javascript reactjs laravel

我有一个网站设计,其中包含没有任何框架的javascript。现在,我处于开发过程中,需要针对特定​​过程使用javascript框架(如react)。那么,它是否可行,还是我需要将所有内容都转换为框架?我正在使用Laravel,如何在Laravel框架内为单个网站制作多个React应用?

4 个答案:

答案 0 :(得分:1)

是的。这正是Facebook旨在通过创建React解决的问题。最初,他们仅将React用于部分评论系统和聊天。

您可以创建一个React组件,并仅在您网站的一部分中使用它。您只需要为其提供安装位置。也就是说,在其中挂载应用程序的div。

检查documentation for React DOMintegration 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复制模块。