モーダルウィンドウの作成
前提
以前作成した下記の環境からスタートします。
react-modal
yarn add react-modal
yarn add -D @types/react-modal
src>app.tsx
下記が以前作成したコード
import React from "react";
const App = () => <h1>Hello World</h1>;
export default App;
上記のコードをreact-modal
をimport
、useState
でモーダルを管理
import React, { useState } from "react";
import Modal from "react-modal";
const App = () => {
const [modal, setModal] = useState(false);
const openModal = () => {
setModal(true);
};
const closeModal = () => {
setModal(false);
};
return (
<>
<button onClick={openModal}>modal</button>
<Modal isOpen={modal}>
<button onClick={closeModal}>close</button>
<h1>Hello World</h1>
</Modal>
</>
);
};
export default App;
最後に
- 環境構築の段階でpackage.jsonのscriptsに
"start": "npx webpack serve --config webpack.config.js"
を書き込んでいる -
yarn start
を実行 - port番号を8111に設定しているので、ブラウザで
http://localhost:8111
にアクセス
modal
ボタンをクリックするとモーダルが出てきて、Hello Worldが表示される!
(close
ボタンで元に戻る)