如何将选择合并到我的React项目中?

时间:2017-08-13 19:55:41

标签: javascript node.js reactjs jquery-chosen

我想在我的项目中使用jquery插件Chosen。我通过npm安装了jQuery和Chosen:

npm i jquery chosen-js -S

这两个库现在都在我的node_modules文件夹中。不幸的是,当应用尝试编译时,我不断收到错误:ReferenceError: jQuery is not defined

这是我调用Chosen库的地方:

import React from "react";
import ReactDom from "react-dom";
import $ from "jquery";
import "chosen-js/chosen.css";
import "chosen-js/chosen.jquery.js";

class App extends React.Component {
  componentDidMount() {
    $(this.refs.list).chosen();
  }

  render() {
    return (
      <select ref="list">
        <option>vanilla</option>
        <option>chocolate</option>
        <option>strawberry</option>
      </select>
    );
  }
}

ReactDom.render(,document.getElementById(“app”));

这是错误的图片: enter image description here

2 个答案:

答案 0 :(得分:0)

不要更改源,最好在组件中编写

window.jQuery = require('jquery');

在选择js之前

答案 1 :(得分:-2)

我也回答了你关于Udemy的问题。 如果你真的想认真对待你的反应生涯,你需要最终退出使用jQuery。

我已经制作了非常复杂的选择组件,甚至使用来自API的数据,使用react-select。我建议使用React Select满足您的所有选择需求,它是一个强大的组件,会改变您的生活。

如果你仍然觉得必须使用selected.js,那么编辑'selected-js / chosen.jquery.js'并添加import语句或需要语句,如

import jQuery from 'jquery' // or
const jQuery = require('jquery');

以便参考错误消失。但是,如果你考虑一个严肃的前端职业,你需要了解jQuery已经死了,严肃的应用程序不会同时使用react和jquery来解决膨胀和冗余的简单问题

相关问题