Javascript 如何将所选内容纳入我的React项目?

Javascript 如何将所选内容纳入我的React项目?,javascript,node.js,reactjs,jquery-chosen,Javascript,Node.js,Reactjs,Jquery Chosen,我想在我的项目中使用jquery插件。我安装了jQuery并通过npm选择: npm i jquery chosen-js -S 这两个库现在都位于“我的节点\模块”文件夹中。不幸的是,我一直收到一个错误:ReferenceError:jQuery在应用程序尝试编译时未定义 这里是我打电话给所选库的地方: import React from "react"; import ReactDom from "react-dom"; import $ from "jquery"; import "ch

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

npm i jquery chosen-js -S
这两个库现在都位于“我的节点\模块”文件夹中。不幸的是,我一直收到一个错误:
ReferenceError:jQuery在应用程序尝试编译时未定义

这里是我打电话给所选库的地方:

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>
    );
  }
}
从“React”导入React;
从“react dom”导入react dom;
从“jquery”导入$;
导入“selected js/selected.css”;
导入“selected js/selected.jquery.js”;
类应用程序扩展了React.Component{
componentDidMount(){
$(this.refs.list).selected();
}
render(){
返回(
香草
巧克力
草莓
);
}
}
ReactDom.render(,document.getElementById(“app”)

下面是错误的图片:
我也回答了你关于我的问题。 如果你真的想认真对待你的职业生涯,你最终需要停止使用jQuery

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

如果您仍然觉得必须使用selected.js,那么请编辑“selected js/selected.jquery.js”并添加导入语句或require语句,如

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

这样参考误差就消失了。但是,如果你考虑到一个严肃的前端职业,你需要理解jQuery已经死了,严肃的应用程序不会同时使用Javery和JQuery来解决一个简单的问题:

< P>不要改变源码,最好在你的组件

中写下。
window.jQuery = require('jquery');
在选择js导入之前,请查看包装器