Javascript 从CDN导入Materializecss并让select下拉菜单在ReactJS中工作?
我有一个ReactJS项目,我从其CDN中包括:Javascript 从CDN导入Materializecss并让select下拉菜单在ReactJS中工作?,javascript,reactjs,select,dropdown,materialize,Javascript,Reactjs,Select,Dropdown,Materialize,我有一个ReactJS项目,我从其CDN中包括: <head> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css"> </head> <body> <script src="https://cdnjs.cloudflare.com/ajax/libs/material
<head>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
</head>
<body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
</body>
我的问题是我想初始化一个select元素。我搜索过类似的问题,都是从node\u modules
导入M
函数,然后在componentDidMount()
中调用它
我想避免npm安装物化-css@next,只需包含CDN
中的包即可
我尝试了
window.M.AutoInit()
,没有出现错误,但它甚至没有创建下拉列表。如何调用M.AutoInit()
我想我找到了我问题的答案
在构造函数上,您必须添加this.M=window.M
:
constructor() {
super();
...
this.M = window.M;
...
}
所以在这之后,使用
这个.M.AutoInit()
外部构造函数应该可以工作了 为什么要避免安装npm?我只是想检查是否有一种方法可以从CDN附带的库中访问对象。但是React或node的方式是,您不认为将模块放在package.json中会更好吗@GermaVinsmoke,这确实是一个更好的方法,这是我的最终实现,但我想知道是否还有另一种方法,CDN。我会为你检查是否可能,直到那时你可以检查这个网站的物化反应-我尝试了,但我无法得到M,这真的很好+1.