当前位置:首页 > React

react中如何使用确认框

2026-03-11 09:38:07React

使用 window.confirm

在React中可以直接调用浏览器的原生确认框,通过window.confirm实现简单的确认交互。这种方式会阻塞代码执行,直到用户点击确认或取消。

const handleDelete = () => {
  const isConfirmed = window.confirm('确定要删除此项吗?');
  if (isConfirmed) {
    // 执行删除操作
    console.log('已确认删除');
  }
};

使用第三方库(react-confirm-alert)

对于更美观或定制化的确认框,可以安装第三方库如react-confirm-alert

安装依赖:

npm install react-confirm-alert

使用示例:

import { confirmAlert } from 'react-confirm-alert';
import 'react-confirm-alert/src/react-confirm-alert.css';

const handleCustomConfirm = () => {
  confirmAlert({
    title: '确认操作',
    message: '确定要提交吗?',
    buttons: [
      {
        label: '确定',
        onClick: () => alert('提交成功')
      },
      {
        label: '取消',
        onClick: () => {}
      }
    ]
  });
};

自定义确认组件

通过React状态和组件实现完全自定义的确认框,灵活性最高。

import { useState } from 'react';

const CustomConfirm = () => {
  const [showConfirm, setShowConfirm] = useState(false);

  const handleConfirm = () => {
    setShowConfirm(true);
  };

  const onConfirm = () => {
    setShowConfirm(false);
    console.log('用户确认');
  };

  const onCancel = () => {
    setShowConfirm(false);
    console.log('用户取消');
  };

  return (
    <div>
      <button onClick={handleConfirm}>触发确认</button>
      {showConfirm && (
        <div className="confirm-modal">
          <p>确定执行此操作?</p>
          <button onClick={onConfirm}>确定</button>
          <button onClick={onCancel}>取消</button>
        </div>
      )}
    </div>
  );
};

结合Ant Design的Modal组件

如果项目中使用Ant Design,可以直接利用其Modal组件实现确认框。

react中如何使用确认框

import { Modal, Button } from 'antd';

const AntdConfirm = () => {
  const [visible, setVisible] = useState(false);

  const showModal = () => {
    setVisible(true);
  };

  const handleOk = () => {
    setVisible(false);
    console.log('用户点击确定');
  };

  const handleCancel = () => {
    setVisible(false);
    console.log('用户点击取消');
  };

  return (
    <>
      <Button type="primary" onClick={showModal}>
        打开确认框
      </Button>
      <Modal
        title="确认提示"
        visible={visible}
        onOk={handleOk}
        onCancel={handleCancel}
      >
        <p>确定要执行此操作吗?</p>
      </Modal>
    </>
  );
};

分享给朋友:

相关文章

react实现vue

react实现vue

React 实现 Vue 功能 React 和 Vue 是两种不同的前端框架,但可以通过一些方法在 React 中实现 Vue 的特性。以下是几种常见 Vue 功能在 React 中的实现方式: 双…

如何开发react

如何开发react

开发React应用的基本步骤 安装Node.js和npm 确保系统中已安装Node.js(包含npm)。可通过官网下载安装包,安装后验证版本: node -v npm -v 创建React项目…

react如何开发

react如何开发

React 开发基础步骤 安装 Node.js 和 npm/yarn 确保系统已安装 Node.js(包含 npm)或 Yarn。React 项目依赖这些工具管理包和运行脚本。官方推荐使用 Node.…

react如何通信

react如何通信

React 组件通信方式 React 组件间的通信方式多样,具体选择取决于组件关系和场景需求。以下是常见方法: 父子组件通信 父组件通过 props 向子组件传递数据,子组件通过回调函数通知父组件…

java如何react

java如何react

在Java中使用React 要在Java项目中集成React,通常需要将React前端与Java后端结合使用。以下是几种常见的方法: 使用Spring Boot作为后端 Spring Boot是一个…

如何搭建react项目

如何搭建react项目

使用 Create React App 搭建项目 Create React App (CRA) 是官方推荐的快速搭建 React 项目的工具,无需配置构建工具(如 Webpack 或 Babel)。…