Я пытаюсь установить модальный режим с помощью React. Я использую код, который более или менее взят из их документов. Я не уверен, почему я получаю эту ошибку: «Uncaught TypeError: Super выражение должно быть либо нулевым, либо функцией». Я осмотрелся и заметил, что эта ошибка обычно появляется, когда люди забывают использовать «Компонент» с заглавной буквы при настройке класса - класс Modal расширяет React.Component - но это не является моей проблемой.
У меня есть React 16.6 и React-dom 16.6 в качестве зависимостей. Возможно, у меня нет самой последней версии React, и это вызывает проблемы? Возможно, что-то еще происходит в моих других файлах, которые ссылаются на этот модал, что вызывает проблему? В любом случае, у меня нет четкого пути исправления этой ошибки, потому что я не знаю, что не так, основываясь на сообщениях об ошибках в инструментах разработчика Chrome. Мой терминал также не предоставляет сообщений об ошибках. Я потерялся.
import React from "react";
import { createPortal } from "react-dom";
const modalRoot = document.getElementById("modal");
class Modal extends React.Compoment {
constructor(props) {
super(props);
this.el = document.createElement("div");
}
componentDidMount() {
modalRoot.appendChild(this.el);
}
componentWillUnmount() {
modalRoot.removeChild(this.el);
}
render() {
return createPortal(this.props.children, this.el);
}
}
export default Modal;
Модал должен автоматически отображаться, как только приложение запускается в браузере (да, я знаю, что модалы могут быть довольно раздражающими для пользователей, но я все еще пытаюсь научиться создавать их в React)