外部Javascript在react.js中不起作用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了外部Javascript在react.js中不起作用相关的知识,希望对你有一定的参考价值。
我正在使用create-react-app
创建一个反应应用程序。我在主index.html
中有一些用于模板设计的外部javascript库
<script src="%PUBLIC_URL%/js/jquery-2.2.4.min.js"></script>
<script src="%PUBLIC_URL%/js/common_scripts.js"></script>
<script src="%PUBLIC_URL%/js/main.js"></script>
<script src="%PUBLIC_URL%/js/owl.carousel.js"></script>
应用程序启动时,这些JS文件正在第一页上运行。但是,当从第一页重定向到其他页面时,这些库不起作用。根据我的理解,这些文件正在渲染,但是当路线改变时,它们的functions, variables, and methods
无法访问。我正在使用react-router-dom v4
进行路由。
我用Google搜索并找到了解决方案 - 通过ComponentDidMount()
方法渲染JS库
ComponentDidMount()
loadjs('./js/main.js', function()
loadjs('./js/common_scripts.js)
);
但即使这个解决方案也无效。请帮忙解决这个问题。
谢谢
您正在使用componentWillMount()
而不是componentDidMount()
。
我认为这是问题所在。
你可以在window对象上设置js文件,然后你可以通过window.your_name来访问它。
您必须在索引文件中设置它
尝试在import()
中使用componentDidMount()
import()是自我解释的。它只是导入JavaScript文件。
import('your_URL')
尝试使用window对象调用事件。参考<a href="https://github.com/facebook/create-react-app/issues/3007#issuecomment-357863643">Link</a>
这就是我如何将Jquery导入我的创建反应应用程序
jQuery的:
- 首先运行
npm install jquery
index.js
import * as $ from 'jquery'
window.jQuery = window.$ = $
见:http://blog.oddicles.org/create-react-app-importing-bootstrap-jquery-cleanly-node-js/
或者,您可以将脚本附加到窗口对象,然后根据需要调用它们:
请尝试以下步骤:
包括/public/index.html中的外部js文件链接使用带有前缀窗口的外部库。例如,JQuery。
将以下行放在/public/index.html中
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>`
在你的项目中使用它:
window.$("#btn1").click(function()
alert("Text: " + $("#test").text());
);
`
有关详细信息,请参阅此
https://github.com/facebook/create-react-app/issues/3007
以上是关于外部Javascript在react.js中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
命名路径在 react-router-dom react js 中不起作用
如果指定了文本颜色,则禁用按钮在 React JS 中不起作用
React.js 地理位置在 iPhone/Android 上的浏览器中不起作用
http-proxy-middleware 代理在 React js 和 Spring Boot 项目中不起作用。 GET API 返回 415 状态错误