Добро пожаловать в StackOverflow!
Ваша проблема заключается в использовании компонента класса React с hooks
.
Hooks
предназначены для использования с функциональные компоненты (Взгляните на первый пример).
Компоненты класса включают использование this.state
, в то время как функциональные компоненты включают использование useState, useX, useY
(хуки), как и вы.
Взгляните на этот фиксированный код:
import React, { useState } from 'react';
import Modal from 'react-modal';
import './testmodal.css';
const Testmodal = () => {
const [modalIsOpen, setModalIsOpen] = useState(false);
return (
<div className="Testmodal">
<div>
<button onClick={() => setModalIsOpen(true)}> Edit Profile </button>
</div>
<Modal isOpen={modalIsOpen}>
<h2> Modal Type </h2> <p> Modal body </p>
<div>
<button onClick={() => setModalIsOpen(false)}> </button>
</div>
</Modal>
</div>
);
};
export default Testmodal;
Я изменил перенос компонента с Class Testmodal extends React.Component
на const Testmodal = () => {...}
Это называется переходом от компонента класса к функциональному компоненту. .
После того, как компонент заработает, вы можете использовать внутри него хуки, но не забудьте использовать его только в наивысшей области .