Migrate to v9
What is new in v9
Say hello to addons! What are addons? So, addons are like DLCs in video games but for react-toastify ๐. More seriously, you can think of it as utilities built around react-toastify. For example, custom theme, hooks, components etc...
useNotificationCenter
The first addon that I would like to introduce is the useNotificationCenter
headless hook! As the name suggests, it let you build your notification center on top of react-toastify. See for yourself ๐
Another example using MUI.
tip
Addons only impact your bundle size if you use them ๐!
Check the documentation for more details.
Stacked toasts
This second addon will be released later. There are a bunch of details that I need to cover and I don't want to release something too buggy. Nevertheless, I'm really excited about it and I think it's worth showcasing anyway.
I call it StackedContainer
for now, it's an alternative to the ToastContainer
component.
Breaking changes
There are 2 breaking changes. The API change for toast.onChange
and the removal of toast.configure
.
toast.onChange
The previous API was returning the numberOfToastDisplayed
and the containerId
. Honestly, this API seems to be incomplete.
For example, with the old API, if I wanted to do some logging this would be very difficult because I don't have enough data to log.
The new API offers more possibilities. The callback will receive a ToastItem
. The item provides a bunch of useful properties status
, content
, id
, data
, etc...
For example, if I want to log something every time there is a new error notification, with the new API it's trivial
toast.configure
removal
toast.configure
works fine for most cases but the current implementation has one main issue. It does not work with react context because it creates a new react tree.
That being said, having 2 APIs to do the same thing is a bad thing.