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

Posted

技术标签:

【中文标题】一个网站可以同时使用简单的 JavaScript 和 React【英文标题】:Can a website work with both simple JavaScript and React 【发布时间】:2019-03-29 14:08:07 【问题描述】:

我有一个网站设计,其中包含没有任何框架的 javascript。现在我正处于开发过程中,我需要使用 javascript 框架,例如对特定过程做出反应。那么,它会起作用还是我需要将所有东西都转换成一个框架?我正在使用 Laravel,如何在 Laravel 框架内为单个网站制作多个 React 应用程序?

【问题讨论】:

【参考方案1】:

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

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

查看documentation for React DOM 和integration guide 了解有关渲染到DOM 的更多信息。基本思想是创建您的组件,然后使用以下代码呈现它:

ReactDOM.render(element, container[, callback])

【讨论】:

嘿,谢谢你的帮助......我已经成功地让它工作了。但是 react 组件中的 html 没有使用来自 laravel public 的 css。你能帮我让它工作吗? CSS 是由另一个人完成的,我希望每个组件都使用 laravel 的公共文件夹中的相同 CSS。 我建议提出一个新问题,而不是在 cmets 中提出第二个问题。您将获得更多曝光,这将增加其他读者通过 google 找到您的问题的价值。祝你有美好的一天@sushanshrestha!【参考方案2】:

来自 React 文档:

React 可以在任何 Web 应用程序中使用。它可以嵌入到其他应用程序中,并且稍加注意,其他应用程序也可以嵌入到 React 中。

要将 React 与其他库或框架集成,请查看 React 集成指南:https://reactjs.org/docs/integrating-with-other-libraries.html

【讨论】:

嘿,谢谢你的帮助......我已经成功地让它工作了。但是 react 组件中的 html 没有使用来自 laravel public 的 css。你能帮我让它工作吗? CSS 是由另一个人完成的,我希望每个组件都使用 laravel 的公共文件夹中的相同 CSS。【参考方案3】:

是的,您可以从 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' 中呈现,您可以单独处理 react

【讨论】:

嘿,谢谢你的帮助......我已经成功地让它工作了。但是 react 组件中的 html 没有使用来自 laravel public 的 css。你能帮我让它工作吗? CSS 是由另一个人完成的,我希望每个组件都使用 laravel 的公共文件夹中的相同 CSS。【参考方案4】:

是的,您可以在 Laravel 框架内为单个网站制作多个 React 应用程序。 Laravel 的前端 UI 经常使用刀片模板。 您需要做的是构建 React 应用程序并将构建的 React 应用程序与 Laravel 刀片集成。 例如,您可以将 React 应用程序的整个构建内容复制到 Laravel 主页刀片中。 另外,在 React 内部导入自定义的 Javascript 文件,你可以使用脚本标签和 webpack 复制模块等多种方式。

【讨论】:

以上是关于一个网站可以同时使用简单的 JavaScript 和 React的主要内容,如果未能解决你的问题,请参考以下文章

实现javascript控制键盘同时按某些键时执行操作。

一个网站可能同时使用http和https协议吗?

通过ASP.NET MVC框架 + 原生JavaScript + Ajax + SQL SERVER 实现一个简单的有论坛功能的网站(有通过iis发布的例子)

JavaScript手绘风格的图形库RoughJS使用指南

如何在 html 网站上使用 javascript 读取和写入另一个文件?

Google Chrome 中将 Javascript 插入网站的简单方法是啥?