Commit 31a62e9
authored
## Description
This PR replaces `queueMicrotask` with `requestAnimationFrame`. Turns out that introducing `useLayoutEffect` (which was introduced in #2925) ended up in gestures being attached in wrong order in some cases.
This can be observed in #2963 (it is highly recommended to look into repro structure):
1. 3 handlers from `ZoomView` where attached - they have correct `tags`
2. Re-render happens, handlers' `tags` are now `-1`
3. `Pan` from `SVGMask` is attached - all handlers marked as `simultaneous` have `tag` `-1`, therefore relations are not set up
4. Handlers from 1. are attached again, so they get back their original `tags`
In this scenario, `simultaneous handlers` array in `Pan` in `SVGMask` was empty, effectively disabling this relation. Switching to `requestAnimationFrame` solves this problem.
## Test plan
Verify that examples work as they used to (`draggable`, `multitap`, `transformations`)
Also tested on code from #2963 .
1 parent e95f853 commit 31a62e9
1 file changed
+4
-4
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
2 | | - | |
3 | | - | |
| 1 | + | |
4 | 2 | | |
5 | | - | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
0 commit comments