Удалите переменную необъявленных опций.
Документация материализации немного сбивает с толку - приведенная в списке инициализация javascript на самом деле сломает ваш код и выловит много людей , Поэтому удалите его, если вам просто нужна функциональность sidenav по умолчанию.
document.addEventListener('DOMContentLoaded', function() {
var elems = document.querySelectorAll('.sidenav');
var instances = M.Sidenav.init(elems);
});
Если вам нужно передать какие-либо параметры, объявите это следующим образом:
document.addEventListener('DOMContentLoaded', function() {
var options = {
edge: 'right'
}
var elems = document.querySelectorAll('.sidenav');
var instances = M.Sidenav.init(elems, options);
});
options - это объект - пары «ключ-значение» для настройки компонента, шаблон, который вы увидите во время материализации компонентов. Вот список параметров, которые можно настроить в момент инициализации. Вы можете расположить sidenav на другой стороне экрана, запускать функции при его открытии, когда он закрывается и т. Д. c.
https://materializecss.com/sidenav.html#options
В качестве стороны примечание - ВСЕГДА проверяйте консоль на наличие подсказок при отладке. Это из вашего кода:
Uncaught ReferenceError: параметры не определены в HTMLDocument. (vYOeqEZ: 61)
Также, последнее замечание - вы упомянули компонентность. Прочтите эту статью об использовании Materialise с React. Это пролит свет на эту тему.
https://medium.com/@mattdlockyer / youre-materialize- css -wrong-470b593e78e9
Вы также пропустили cdn materialicons, поэтому ваши иконки не отображаются:
https://materializecss.com/icons.html
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">