当前位置:首页 > 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 moment如何使用

react moment如何使用

安装 react-moment 通过 npm 或 yarn 安装 react-moment: npm install react-moment 或 yarn add react-moment 基本…

react就业如何

react就业如何

React 就业市场现状 React 作为当前主流前端框架之一,就业需求持续旺盛。国内外互联网企业、中大型公司以及初创团队普遍采用 React 技术栈,尤其在 Web 应用、移动端(React Nat…

react如何减少伤害

react如何减少伤害

减少 React 应用性能伤害的方法 使用 React.memo 或 PureComponent 对于函数组件,使用 React.memo 进行浅比较,避免不必要的重新渲染。类组件可以使用 PureC…

react如何用echarts

react如何用echarts

在React中使用ECharts 安装ECharts和React专用封装库: npm install echarts echarts-for-react 基础使用示例 创建一个基础的柱状图组件:…

react 如何使用 apply

react 如何使用 apply

使用 apply 方法的基本概念 在 JavaScript 中,apply 是函数原型上的方法,用于调用函数时指定 this 的值和传递参数数组。React 中可以使用 apply 来绑定组件方法或调…

react如何删除组件

react如何删除组件

删除 React 组件的几种方法 条件渲染法 通过状态控制组件是否渲染。当状态为 false 时,组件会被移除: const [showComponent, setShowComponent…