Skip to content

Enabling preventDuplicate causes enque to be ignored during close animation #550

@satoren

Description

@satoren

If preventDuplicate is enabled, calling closeSnackbar and then calling enqueueSnackbar again during the close animation will be ignored.

Expected Behavior

Displayed if enqueueSnackbar is called last when preventDuplicate is enabled.

Current Behavior

Not displayed even if enqueueSnackbar is called last when preventDuplicate is enabled.

      const key = enqueueSnackbar(button.message, { variant: button.variant });
      closeSnackbar(key);
      setTimeout(() => {
        // I want it to be displayed but ignored.
        enqueueSnackbar(button.message, { variant: button.variant });
      }, 100);

Steps to Reproduce

Link:
https://codesandbox.io/s/divine-night-58x2g1?file=/MessageButtons.js:1215-1285

  1. click button

Context

I have a component that uses React.useEffect to keep showing the snackbar as long as the component is mounted, but it no longer works with React 18 + StrictMode. Only developer mode is affected, but I would like to fix it.

Your Environment

Tech Version
Notistack v3.0.1
React 18.2.0
Browser Chrome 110.0.5481.177
etc.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions