Reusbale React Toastify Component

A react-toast component creadted with an intention to publish it as an private npm pacakge. It can usedul for many internal projects.

So, below is my code: https://codesandbox.io/s/custom-toastify-toast-with-react-component-forked-mu2l9c?file=/src/App.js:297-484

However there are two problems encountered

  1. on Click of buttons, two toast box are being displayed
  2. Passing down of Ref to child components.

Again, the code uses, ref, current.showToast. So it sounds bad to pass down refs to child Components.

What I want to achieve is DECLARE ONE TIME and USE ANYWHERE.

So, in the parent Component

import {ToastSuccess, ToastSuccessMeta, ToastError, ToastErrorMeta } from 'custom-library'

return(
<>
   <ToastSuccess />
   <ToastError />
</>
)
   

In Child components

 <button  onClick={() => ToastSuccessMeta.showToast({ position: "top-right", message: "Custom Success Toast" })}>Show Toast </button>
 <button  onClick={() => ToastErrorMeta.showToast({ position: "top-right", message: "Custom Error Toast" })}>Show Toast Erro</button>

I don’t know if I can achieve this. Please note that custom-library is the place where Toast-Container will be configured. . And projects will install and import it to use the toast.

Your help is appreciated.

Thank you