React 中的 Jquery 没有定义

嗨,我只是想接收 ajax 请求,但问题是 jquery 没有在 React 中定义。反应版本是 14.0

错误信息

 Uncaught ReferenceError: $ is not defined

我有两个文件 :

index.js

import React from 'react';
import { render } from 'react-dom';
import App from './containers/App';


const root = document.getElementById('root');


render(
<App source='https://api.github.com/users/octocat/gists' />,
root
);

app.js

import React, { Component } from 'react';


export default class App extends Component {


componentDidMount() {
const { source } = this.props;


console.log($); // throws error
}


render() {
return (
<h1>Hey there.</h1>
);
}
}
150594 次浏览

尝试将 jQuery添加到项目中,如

npm i jquery --save

或者如果你使用鲍尔

bower i jquery --save

那么

import $ from 'jquery';

将“ ref”添加到 h1标签:

<h1 ref="source">Hey there.</h1>

还有
const { source } = this.props;改为 const { source } = this.refs;

我只想接收 ajax 请求,但问题是在 React 中没有定义 jQuery。

那就别用。使用 去捡并查看 在 IE11中读取 React 中不能完全工作的填充物,看看其他使其运行的方法的例子

就像这样

const that = this;
fetch('http://jsonplaceholder.typicode.com/posts')
.then(function(response) { return response.json(); })
.then(function(myJson) {
that.setState({data: myJson}); // for example
});

注意: 如果使用箭头函数,则不需要 const = 这一部分。 它可能看起来像这样:

fetch('http://jsonplaceholder.typicode.com/posts')
.then((response) => { return response.json(); })
.then((myJson) => {
this.setState({data: myJson}); // for example
});

没有比这更容易的了:

1-在项目中安装 jquery:

yarn add jquery

2-导入 jquery 并开始使用 DOM:

import $ from 'jquery';

这种情况通常发生在项目中没有安装 JQuery的时候。 按照包管理器的命令在项目中安装 JQuery。

纱线

yarn add jquery

Npm

npm i jquery --save

之后,只需在项目文件中导入 $import $ from 'jquery'