Skip to main content

useConfirmation

Overview​

The useConfirmation.ts file contains a simple confirmation state manager implemented using React's Hooks. This utility is useful for managing confirmation dialogs or similar components where you need to control open/close states and pass data.

Functions​

useConfirmation<T>​

This function is a custom React Hook that manages open/close states and associated data for a confirmation dialog.

Parameters​

ParameterTypeDescription
isOpenbooleanInitial state of the open status of the confirmation.
defaultValueTInitial value or default data for the confirmation.

Returns​

An object that contains the following properties and methods:

Property/MethodTypeDescription
openbooleanA boolean state that shows if the confirmation is open.
confirmationDataTThe data associated with the confirmation state.
handleOpen(data: T) => voidOpens the confirmation and sets the data.
handleClose() => voidCloses the confirmation and resets the data.

Usage​

Here's how you can use the useConfirmation hook in your component:

import React from "react";
import { useConfirmation } from "./useConfirmation";

const MyComponent = () => {
const { open, confirmationData, handleOpen, handleClose } =
useConfirmation<boolean>(false, false);

return (
<div>
<button onClick={() => handleOpen(true)}>Open Confirmation</button>
{open && (
<div>
<p>Are you sure?</p>
<button onClick={handleClose}>Cancel</button>
<button
onClick={() => {
// handle confirmation
handleClose();
}}
>
Confirm
</button>
</div>
)}
</div>
);
};

eort default MyComponent;

Features​

  • State Management: Manages open/close states of a confirmation dialog.
  • Data Handling: Allows passing and resetting of data tied to the confirmation state.
  • Simple API: Provides an intuitive interface for managing confirmation dialogs.

Benefits​

  • Ease of Use: Offers a straightforward way to handle confirmation logic without complex state management.
  • Reusability: Can be easily reused across different components and projects.
  • Flexibility: Supports any data type for confirmation data through TypeScript generics.

Tips​

  • Type Safety: Utilize TypeScript's generic types for robust type-checking and maintainability.
  • Modular Design: Use this hook to separate your confirmation logic from UI logic for cleaner components.

Conclusion​

The useConfirmation hook is a powerful yet simple tool for managing confirmation dialogs in React applications. It provides a structured way to handle state and data, ensuring your components remain organized and easy to maintain.