Доброе утро всем,
Я изо всех сил пытался заставить материализовать css для работы в моем приложении для реакции, в частности, с файлами Javascript.
Я пробовал несколько способов, но, как мне кажется, я продвинулся дальше.
В моем файле "landingpage.js":
import React, { Component } from 'react';
import './styles/css/custom.css';
import $ from 'jquery';
import 'materialize-css'; // It installs the JS asset only
import '../node_modules/materialize-css/js/modal';
Цель состоит в том, чтобы открыть простое всплывающее окно (чтобы я мог проверить, правильно ли импортируется JS)
<div>
<a class = "waves-effect waves-light btn modal-trigger" href = "#modal1">Modal</a>
<div id = "modal1" class = "modal">
<div class = "modal-content">
<h4>Modal Header</h4>
<p>A bunch of text</p>
</div>
<div class = "modal-footer">
<a href = "#!" class = "modal-close waves-effect waves-green btn-flat">Agree</a>
</div>
</div>
</div>
Итак, как только компонент смонтируется:
componentDidMount() {
$('.modal').modal();
}
Однако когда я нажимаю кнопку, должно открываться всплывающее окно:
ReferenceError: Component is not defined
Эта ошибка возникает в файле JS, который я пытаюсь импортировать.
Я пробовал импортировать разными способами, и приложение даже ничего не распознало. Я пытался импортировать это в течение двух дней и много искал в Интернете, я делаю это для проекта School Final, пытаясь самостоятельно научиться реагировать.
Вот ссылка на фреймворк, который я пытаюсь импортировать:
https://materializecss.com/modals.html#!
Спасибо за ваше время.
Он уже импортирован. CSS работает нормально, JS - нет.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


использование jquery с реакцией вообще не рекомендуется если вы пытаетесь использовать материал, как насчет использования библиотеки, например
материал-интерфейс установить его с помощью
npm i material-ui --save
и вы можете следовать примеру здесь для диалога, который в основном является модальным диалог в пользовательском интерфейсе материала
Спасибо за предложение. Я изучил Material-UI, и он хорошо работает с React, однако мне не очень нравится его документация, так как я все еще новичок. Я считаю, что документация по materializecss намного яснее и понятнее. Я просто импортирую JS, чтобы все это работало :(
Вам нужно добавить полный путь из модуля npm в файл точки входа, чтобы webpack мог использовать ваш css ...
вот пример типичного приложения create-response-app, использующего Index.js или как вы его называете, если вы делаете свой собственный шаблон реакции.
Index.js
import React from 'react';
import ReactDOM from 'react-dom';
import 'materialize-css/dist/css/materialize.min.css'; // <---
import App from './components/App';
ReactDOM.render(<App />, document.getElementById('root'));
Как только это будет сделано, ваши компоненты получат доступ к свойствам css. Я также рекомендую вам установить npm i -S materialize-css@next, чтобы вы могли использовать компоненты JS без использования JQuery.
Вам необходимо включить CSS в свой html