You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
notFound() from async loader renders component instead of notFoundComponent #7179
notFound() thrown from an async loader renders the component (with undefined loaderData) instead of notFoundComponent. Regression from v1.162 → v1.168.
handleRedirectAndNotFound (load-matches.ts:137) changed from always setting status: "notFound" to setting "success" when pending:
This relies on loadMatches (load-matches.ts:1110) to set the final "notFound" later. But React can flush a render between the two via processRootScheduleInMicrotask, reading the intermediate "success" status in Match.tsx:437.
No minimal repro - race condition that depends on real world loader timing. Happy to work with maintainers to reproduce if issue details not sufficient.
Steps to Reproduce the Bug or Issue
Parent route with fast/sync loader, child route with async loader that throws notFound() after await
Child route has notFoundComponent
Navigate directly to child URL
When parent resolves first, React renders parent → Outlet subscribes to child match store → child throws → handleRedirectAndNotFound (L137) sets "success" → React flushes → Match.tsx:437 sees "success" → component renders with undefined loaderData
Activity