-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Open
Description
Which project does this relate to?
Router
Describe the bug
With defaultPreload: "intent" set on the router, the preload & cause arguments of the root's beforeLoad are incorrect when hovering Link.
There seems to be multiple things that are wrong here:
- After initial load, hovering a
LinkcausesbeforeLoadto be triggered on the root withcause: enter- even on a link going to the currently active route. This behavior is inconsistent with the behavior after clicking a link, in whichcause: stayis what's reported. preload: falseis always reported for the root'sbeforeLoadwhen hovering aLink. I would expectpreload: trueto be reported on a hover.- Going to a nested route, and then hovering on the link to the same route reports incorrect
cause: "enter", preload: falseon both the parent and on the nested route.
Your Example Website or App
https://stackblitz.com/edit/github-9xzbqucd?file=src%2Fmain.tsx
Steps to Reproduce the Bug or Issue
Reproduction for 1. above:
- Hover the
HomeandAboutlinks. - Observe that the console reports the following:
root beforeLoad enter false (expected "stay" - or maybe "preload"?)
index beforeLoad enter false (expected "stay" - or maybe "preload"?)
root beforeLoad enter false (expected "stay" - or maybe "preload"?)
about beforeLoad preload true
- Click the
Homelink. - Hover the
Homelink. - Observe that the console reports the following:
root beforeLoad stay false
index beforeLoad stay false
Reproduction for 2. above:
- Hover the
Aboutlink. - Observe that the console reports
root beforeLoad enter false(expectedpreload: true)
Reproduction for 3. above:
- Click the
Nestedlink. - Hover the
Nestedlink. - Observe that the console reports the following:
root beforeLoad stay false (expected `cause: "stay", preload: true` - or maybe `cause: "preload", preload: true`?)
bag beforeLoad enter false (expected `cause: "stay", preload: true` - or maybe `cause: "preload", preload: true`?)
nested beforeLoad enter false (expected `cause: "stay", preload: true` - or maybe `cause: "preload", preload: true`?)
Expected behavior
See notes in parentheses in the repro steps.
Screenshots or Videos
No response
Platform
- Router / Start Version: 1.124.0
- OS: Linux
- Browser: Chrome
- Browser Version: 138.0
- Bundler: vite
- Bundler Version: 6.3.5
Additional context
Related issues:
hemengke1997, Numpienick and Grmiade
Metadata
Metadata
Assignees
Labels
No labels