Я пытаюсь настроить модальное окно с помощью React. Я использую код, который более или менее взят из их документации. Я не уверен, почему я получаю эту ошибку: «Uncaught TypeError: Супервыражение должно быть либо нулевым, либо функцией». Я покопался и заметил, что эта ошибка обычно появляется, когда люди забывают использовать заглавную букву «Компонент» при настройке класса — класс 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;
Modal должен автоматически отображаться, как только приложение запускается в браузере (да, я знаю, что Modal может быть довольно раздражающим для пользователей, но я все еще пытаюсь научиться делать его в React)