У меня есть ReactJS проект, в который я включаю materialize css из его 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/materialize/1.0.0/js/materialize.min.js"></script> </body>
Моя проблема в том, что я хочу инициализировать элемент select. Я искал похожие вопросы, все импортировали функцию M из node_modules и затем вызывали ее в componentDidMount().
M
node_modules
componentDidMount()
Я хочу избежать npm install materialize-css@next и просто включить пакет из CDN.
npm install materialize-css@next
CDN
Я попытался window.M.AutoInit(), ошибки не возникло, но даже не создает раскрывающийся список. Как вызвать M.AutoInit()?
window.M.AutoInit()
M.AutoInit()
Я думаю, что нашел ответ на свой вопрос.
К конструктору нужно добавить this.M = window.M:
this.M = window.M
constructor() { super(); ... this.M = window.M; ... }
Так что после этого использование this.M.AutoInit() внешнего конструктора должно работать !
this.M.AutoInit()