Use a controlled progress bar
Imagine you want to see the progress of a file upload. The example below features axios, but it works with anything!
import axios from 'axios';
import { toast } from 'react-toastify';
function Example(){
  // we need to keep a reference of the toastId to be able to update it
  const toastId = React.useRef(null);
  function handleUpload(){
    axios.request({
      method: "post", 
      url: "/foobar", 
      data: myData, 
      onUploadProgress: p => {
        const progress = p.loaded / p.total;
        // check if we already displayed a toast
        if (toastId.current === null) {
          toastId.current = toast('Upload in Progress', { progress });
        } else {
          toast.update(toastId.current, { progress });
        }
      }
    }).then(data => {
      // Upload is done! 
      // The remaining progress bar will be filled up
      // The toast will be closed when the transition end
      toast.done(toastId.current);
    })
  }
  return (
    <div>
      <button onClick={handleUpload}>Upload something</button>
    </div>
  )
}