将jQuery与React组件一起使用

时间:2017-02-16 10:48:16

标签: jquery node.js reactjs

我想在我的react组件中添加jquery,但是我有一个错误:

  

TypeError:_jquery2.default.ajax不是函数      在渲染(C:\ xampp \ htdocs \ formation \ delicious-server \ tmp \ webpack:\ src \ routes \ Xml.js:10:5)

我的代码很简单:

var React = require('React');
import $ from 'jquery';

var Xml = React.createClass({
render: function(){

    $.ajax({
          url: 'config.xml',
          dataType: 'xml',
          cache: false,
          success: function(data) {
            data = xmlToJson(data);
            console.log(data);
          }.bind(this)
        });
        return (<p>data</p>);
  }
});

module.exports = Xml;

我做了一个npm install --save jquery,它已经安装但是仍然无效。我该怎么办?

2 个答案:

答案 0 :(得分:0)

渲染函数用于将在页面上呈现的HTML / React组件,对于这样的东西,你会想要使用componentDidMount但是如果你要获取数据,那么你可能还想考虑看看像Redux这样的东西可以帮助消除对jQuery的需求并处理像异步加载数据这样的东西。

答案 1 :(得分:0)

你不应该在render方法中使用函数,在组件挂载之前使用componentWillMount方法进行ajax调用函数

SETTINGS_MAXIMUM_FETCH_DISTANCE