pmndrs / pmndrs/react-spring

[bug]: useTransition When uninstalling, double-clicking causes DOM destroy

Open
#2,258 1 comment 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area: core kind: bug
Dominant language
TypeScript
Stars
29.1k
Forks
1.2k
PR merge metrics
No merged PRs in 30d

Description

Which react-spring target are you using?
  • @react-spring/web
  • @react-spring/three
  • @react-spring/native
  • @react-spring/konva
  • @react-spring/zdog
What version of react-spring are you using?

9.7.3

What's Wrong?

When exitBeforeEnter is set to true, double-click the button and instantly destroy the dom when it is hidden from reality

https://stackblitz.com/edit/stackblitz-starters-hh9ppv?file=src%2FApp.tsx

Kapture 2024-02-28 at 18 22 35

To Reproduce

When exitBeforeEnter is set to true, double-click the button and instantly destroy the dom when it is hidden from reality

Expected Behaviour

Is this a bug?

Link to repo

https://stackblitz.com/edit/stackblitz-starters-hh9ppv?file=src%2FApp.tsx

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the @react-spring/web case in the linked StackBlitz, focusing on src/App.tsx, exitBeforeEnter, and the double-click sequence. Trace when the transition unmounts its DOM and define done as preventing premature DOM destruction while preserving the intended exit-before-enter behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
react, typescript
Domain
frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.