【发布时间】:2018-02-24 19:33:54
【问题描述】:
我的 JS 文件包含 jQuery (apiCalls.js):
function getBlogInfo() {
$.ajax({
url: "http://api.tumblr.com/v2/blog/myblog.tumblr.com/info?api_key=my-api-key",
dataType: 'jsonp',
success: function(info){
console.log(info);
console.log(info.response.blog.likes);
}
}
)}
export { getBlogInfo };
我的 React 组件:
import React, { Component } from 'react';
import $ from 'jquery';
import { getBlogInfo } from './scripts/apiCalls';
class Homepage extends Component {
componentDidMount(){
getBlogInfo();
}
render() {
return (
<div className="homepage">
</div>
);
}
}
export default Homepage;
如果我用整个脚本替换componentDidMount() 中的getBlogInfo(),那么脚本会按预期执行,但是使用函数调用来执行脚本会给我一个错误提示 -
./src/components/scripts/apiCalls.js
Line 2: '$' is not defined no-undef
到目前为止我所尝试的:
在我所有的反应文件中从 'jquery' 导入 $。
通过脚本标签在 index.html 中导入 jquery 库
【问题讨论】:
-
使用 import $ from 'jquery';在你的 apiCalls.js 中,因为你在你的 apicalls.js 中使用 $ 不需要在你的反应组件中导入它
-
成功了,谢谢!我花了几个小时寻找解决方案,简直不敢相信它这么简单。