<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/most-react-apps-still-implement-confirmation-dialogs-with---local-modal-state---callbacks-passed-t-vascgpije" -->

---
title: Most React apps still implement confirmation dialogs...
description: react-confirm-manager is a promise-based confirmation dialog library for React that lets you trigger confirmation modals imperatively using an async...
canonical: https://daily.dev/posts/most-react-apps-still-implement-confirmation-dialogs-with---local-modal-state---callbacks-passed-t-vascgpije
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Most React apps still implement confirmation dialogs with:  - local modal state - callbacks passed through components - UI logic mixed with business  I built **react-confirm-manager** to fix this.  If you like APIs similar to react-toastify, this wil | daily.dev
og:description: react-confirm-manager is a promise-based confirmation dialog library for React that lets you trigger confirmation modals imperatively using an async...
og:url: https://daily.dev/posts/most-react-apps-still-implement-confirmation-dialogs-with---local-modal-state---callbacks-passed-t-vascgpije
og:image: https://api.daily.dev/og/posts/VascGpijE.png
og:image:alt: Most React apps still implement confirmation dialogs with:  - local modal state - callbacks passed through components - UI logic mixed with business  I built **react-confirm-manager** to fix this.  If you like APIs similar to react-toastify, this wil
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Most React apps still implement confirmation dialogs with:

- local modal state
- callbacks passed through components
- UI logic mixed with business

I built **react-confirm-manager** to fix this.

If you like APIs similar to react-toastify, this wil

**[Saad Nasir](https://daily.dev/sources/tgkq6f5ijgxtwusjta82f)** · [@codeinease](https://daily.dev/codeinease) · 1 upvotes · 0 comments

## Summary

react-confirm-manager is a promise-based confirmation dialog library for React that lets you trigger confirmation modals imperatively using an async `confirm()` API without needing JSX or hooks at call sites. It supports scoped containers (global, specific ID, or closest to trigger), 16 built-in animations, multiple color schemes, custom CSS classes, and fully custom dialog rendering via render props. The library handles three return states: true (confirmed), false (cancelled), and null (dismissed via ESC or outside click).

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://saadnasir-git.github.io/react-confirm-manager-docs/>

## Similar posts on daily.dev

- [Beautiful Rails confirmation dialogs \(with zero JavaScript\)](https://daily.dev/posts/beautiful-rails-confirmation-dialogs-with-zero-javascript--mdkganzyp) · RUBYLAND · 0 upvotes · 0 comments
- [Stop Using Ugly Browser Alerts: Custom Turbo Confirms in Rails 8](https://daily.dev/posts/stop-using-ugly-browser-alerts-custom-turbo-confirms-in-rails-8-8tjqpeepd) · Ruby Flow · 0 upvotes · 0 comments
- [Confirmation dialogs with zero JavaScript](https://daily.dev/posts/confirmation-dialogs-with-zero-javascript-kdvyvhvms) · RUBYLAND · 0 upvotes · 0 comments
- [The HTML dialog tag](https://daily.dev/posts/the-html-dialog-tag-w9my1ll34) · Flavio Copes · 2 upvotes · 1 comments

---

Tags: [#react](https://daily.dev/tags/react), [#typescript](https://daily.dev/tags/typescript)

[View this post on daily.dev](https://daily.dev/posts/most-react-apps-still-implement-confirmation-dialogs-with---local-modal-state---callbacks-passed-t-vascgpije)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"DiscussionForumPosting","mainEntityOfPage":"https://daily.dev/posts/most-react-apps-still-implement-confirmation-dialogs-with---local-modal-state---callbacks-passed-t-vascgpije","headline":"Most React apps still implement confirmation dialogs with:\n\n- local modal state\n- callbacks passed through components\n- UI logic mixed with business\n\nI built **react-confirm-manager** to fix this.\n\nIf you like APIs similar to react-toastify, this wil","text":"Shared: React Confirm Manager – Async & customizable confirmation dialogs for React","url":"https://daily.dev/posts/most-react-apps-still-implement-confirmation-dialogs-with---local-modal-state---callbacks-passed-t-vascgpije","datePublished":"2026-02-22T14:00:36.277Z","dateModified":"2026-02-22T14:01:20.428Z","author":{"@type":"Person","name":"Saad Nasir","url":"https://daily.dev/codeinease","image":"https://media.daily.dev/image/upload/s--27b1Woqv--/f_auto/v1770295401/avatars/avatar_tgkQ6f5IjGxtWusJTA82F?_a=BAMAMiiu0","description":"I am a full stack web developer.","interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"EndorseAction"},"userInteractionCount":600}},"image":"https://media.daily.dev/image/upload/s--P4t4XyoV--/f_auto/v1722860399/public/Placeholder%2001","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"sharedContent":{"@type":"WebPage","url":"https://api.daily.dev/r/kUoDLKqfw"},"isPartOf":{"@type":"WebPage","url":"https://daily.dev/sources/tgkq6f5ijgxtwusjta82f","name":"Saad Nasir"}}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Saad Nasir","item":"https://daily.dev/sources/tgkq6f5ijgxtwusjta82f"},{"@type":"ListItem","position":3,"name":"Most React apps still implement confirmation dialogs with:\n\n- local modal state\n- callbacks passed through components\n- UI logic mixed with business\n\nI built **react-confirm-manager** to fix this.\n\nIf you like APIs similar to react-toastify, this wil"}]}
```

