如何在React中正确导入库?

时间:2018-05-25 14:29:43

标签: reactjs materialize

我正在尝试导入JS - materialize库。我用npm安装了它,

然后在我的项目根文件index.js上我尝试了这个:

import materializeJS from 'materialize-css/dist/js/materialize.min.js';

ReactDOM.render(<App M={materializeJS} />, document.getElementById('root'));
registerServiceWorker();

但是当我尝试初始化App.js文件中的select函数时:

componentDidMount() {
    const { M } = this.props;
    document.addEventListener('DOMContentLoaded', function() {
       var elems = document.querySelectorAll('select');
       var instances = M.FormSelect.init(elems, elems[0].children);
    });
}

M没有任何库函数。我也尝试用这个

导入它 import 'materialize-css/dist/js/materialize.min.js';

顶部的

index.js

但没有奏效。

我是否必须在index.html中导入此内容,然后单独初始化其中的所有功能?

2 个答案:

答案 0 :(得分:1)

不是你的问题的直接回答,但他们已经有port for react,你最好安装它而不是使用常规的js库做反应。

答案 1 :(得分:1)

这可能很棘手。 我建议你改用反应器来代替:react-materialize