자바스크립트를 이용한 커스텀 모달
8822 단어 csshtmljavascript
먼저 모달에 대한 구성 요소를 만듭니다.
import React from "react";
function Modal(props) {
const divStyle = {
display: props.displayModal ? "block" : "none",
};
function closeModal(e) {
e.stopPropagation();
props.closeModal();
}
return (
<div className="modal" onClick={closeModal} style={divStyle}>
<div className="modal-content" onClick={(e) => e.stopPropagation()}>
<span className="close" onClick={closeModal}>
×
</span>
{props.children}
</div>
</div>
);
}
export default Modal;
그런 다음 필요한 곳에 이 구성 요소를 사용합니다.
import React, { useState } from "react";
import "./App.css";
import Modal from "./Modal";
function App() {
const [modal, setModal] = useState(false);
const [modal1, setModal1] = useState(false);
const selectModal = (info = "") => {
setModal((perv) => !perv);
};
return (
<div className="App">
<p onClick={() => selectModal("Modal A")}>Open Modal A</p>
<Modal displayModal={modal} closeModal={selectModal}>
<div>modal1</div>
<div onClick={() => setModal1("modal a1")}>Open second modal</div>
<Modal displayModal={modal1} closeModal={setModal1}>
<div>modal2</div>
<div>Second modal</div>
</Modal>
</Modal>
</div>
);
}
export default App;
Reference
이 문제에 관하여(자바스크립트를 이용한 커스텀 모달), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/sababg/custom-modal-with-javascript-48ej텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)