--- title: useToast description: 'A composable to display toast notifications in your app.' --- ## Usage Use the auto-imported `useToast` composable to display [Toast](/components/toast) notifications. ```vue ``` - The `useToast` composable uses Nuxt's `useState` to manage the toast state, ensuring reactivity across your application. - A maximum of 5 toasts are displayed at a time. When adding a new toast that would exceed this limit, the oldest toast is automatically removed. - When removing a toast, there's a 200ms delay before it's actually removed from the state, allowing for exit animations. ::warning Make sure to wrap your app with the [`App`](/components/app) component which uses our [`Toaster`](https://github.com/nuxt/ui/blob/v3/src/runtime/components/Toaster.vue) component which uses the [`ToastProvider`](https://reka-ui.com/docs/components/toast#provider) component from Reka UI. :: ::tip{to="/components/toast"} Learn how to customize the appearance and behavior of toasts in the **Toast** component documentation. :: ## API ### `add(toast: Partial): Toast` Adds a new toast notification. - Parameters: - `toast`: A partial `Toast` object with the following properties: - `id` (optional): A unique identifier for the toast. If not provided, a timestamp will be used. - `open` (optional): Whether the toast is open. Defaults to `true`. - Other properties from the `Toast` interface. - Returns: The complete `Toast` object that was added. ```vue ``` ### `update(id: string | number, toast: Partial)` Updates an existing toast notification. - Parameters: - `id`: The unique identifier of the toast to update. - `toast`: A partial `Toast` object with the properties to update. ```vue ``` ### `remove(id: string | number)` Removes a toast notification. - Parameters: - `id`: The unique identifier of the toast to remove. ```vue ``` ### `clear()` Removes all toast notifications. ```vue ``` ### `toasts` - Type: `Ref` - Description: A reactive array containing all current toast notifications.