在 React JS 中创建可自定义的模态框
react jsjavascript libraryfront end technology更新于 2025/11/19 8:12:17
在本文中,我们将了解如何在 React JS 中创建带有多个按钮的可自定义模态框,该模态框可用于多种类型的项目,例如登录页面或旅游网站。模态框是显示在屏幕顶部的消息框。我们可以将模态框用作订阅框;我们还可以使用 CSS 为模态框添加动画。
示例
首先创建一个 React 项目 −
npx create-react-app tutorialpurpose
转到项目目录 −
cd tutorialpurpose
下载并安装 react-modal 包 −
npm i --save react-modal
我们可以使用此包在任何 React 项目中添加简单的预制模态框。它还允许您添加默认样式。
在 App.js 中添加以下代码行 −
import React from "react";
import Modal from "react-modal";
const customStyles = {
content: {
top: "50%",
left: "50%",
right: "auto",
bottom: "auto",
marginRight: "-50%",
transform: "translate(-50%, -50%)",
},
};
export default function App() {
let subtitle;
const [modalIsOpen, setIsOpen] = React.useState(false);
function openModal() {
//此函数用于设置点击打开时的操作
setIsOpen(true);
}
function afterOpenModal() {
// 引用现已同步,可以访问。
subtitle.style.color = "#f00";
}
function closeModal() {
//此函数用于设置点击关闭时的操作
setIsOpen(false);
}
return (
<div>
<button onClick={openModal}>Open Modal</button>
<Modal
isOpen={modalIsOpen} //如果模态框已打开
onAfterOpen={afterOpenModal} //模态框打开后执行的操作
onRequestClose={closeModal} //模态框关闭后执行的操作
style={customStyles}
contentLabel="Example Modal">
<h2 ref={(_subtitle) => (subtitle = _subtitle)}>Hello</h2>
<button onClick={closeModal}>close</button>
<div>I am a modal</div>
<form>
<input />
<button>tab navigation</button>
<button>stays</button>
<button>inside</button>
<button>the modal</button>
</form>
</Modal>
</div>
);
}
解释
概念很简单。点击按钮时,状态变为true,当状态为true时,模态窗口打开。模态窗口上有一个按钮,点击该按钮会将状态更改为false并关闭模态窗口。
我们还在模态窗口上添加了简单的样式和一组用于不同功能的按钮。
输出
执行后,将产生以下输出 −

相关文章
有用资源
javascript 参考教程 - 该教程包含有关 javascript 的更多信息:https://www.cainiaomax.com/javascript/

