// default behavior uses window.confirm const getUserConfirmation = (message, callback) => { const modal = document.createElement('div') document.body.appendChild(modal) const withCleanup = (answer) => { ReactDOM.unmountComponentAtNode(modal) document.body.removeChild(modal) callback(answer) } ReactDOM.render( withCleanup(false)} onConfirm={() => withCleanup(true)} />, modal ) }