【发布时间】:2021-06-18 17:10:47
【问题描述】:
抱歉,由于旧帖子被合并到一些与我的问题无关的帖子中,我再次提出这个问题......我是 React 的新手,并试图将 php 网站转换为 react 组件。但是,在旧网站中,纯 jquery 和 CDSNJS 中有一些功能。外部 javascripts 函数与我的组件没有很好地绑定,我不知道该怎么做。谁能给我一些建议。
案例 1: 我有一个像这样的外部函数:
;(function ($) {
/* Global variables */
var prty, flickr;
$.fn.flickrGallery = function(flickrID) {
//Defaults settings
var opts = $.extend({}, {
Key:prty.settings["Key"],
Secret:prty.settings["Secret"],
User:prty.settings["User"],
PhotoSet:flickrID,
Speed:400,
navigation:1,
keyboard:1,numberEl:1 });
//Setup
prty.Setup($(this), opts);
}; //End FN
prty = {
.... Internal code
};
})(jQuery);
这是我组件的代码:
async componentDidMount() {
//$('#gallery').flickrGallery(2); // Not work
//const el = ReactDOM.findDOMNode(this.display); Not work
//$(el).vectorMap({map: 'world_mill_en'});
//$(el).flickrGallery(2);
//const el = ReactDOM.findDOMNode(this.domRef); Not work
//window.$('#addSupModal').modal('show')
//$(el).flickrGallery(2);
window.$(this.productIntro).flickrGallery(2); Not work
}
每次运行都会出现这样的错误:
Unhandled Rejection (TypeError): window.$(...).flickrGallery is not a function
案例 2:
除了上述情况,我还使用了 CDNJS 的库
<!-- jQuery 1.8 or later, 33 KB -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<!-- Fotorama from CDNJS, 19 KB -->
<link href="https://cdnjs.cloudflare.com/ajax/libs/fotorama/4.6.4/fotorama.css" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/fotorama/4.6.4/fotorama.js"></script>
我尝试将这些链接包含在 index.html 中,但运行时出现与上述相同的错误...请帮助
【问题讨论】:
标签: javascript reactjs cdn