// @flow import * as React from "react"; import ReactDOM from "react-dom"; type ButtonType = { label: string, onClick: () => void | null }; type Props = { title: string, message: string, buttons: ButtonType[] }; class ConfirmAlert extends React.Component { handleClickButton = (button: ButtonType) => { if (button.onClick) { button.onClick(); } this.close(); }; close = () => { ReactDOM.unmountComponentAtNode(document.getElementById("modalRoot")); }; render() { const { title, message, buttons } = this.props; return (

{title}

{message}
{buttons.map((button, i) => ( this.handleClickButton(button)} > {button.label} ))}
); } } export function confirmAlert(properties: Props) { const root = document.getElementById("modalRoot"); if(root){ ReactDOM.render(, root); } } export default ConfirmAlert;