cloudflare/vinext

App Router: `template.tsx` does not remount/re-render correctly on navigation

Closed

#1,534 opened on May 22, 2026

 (0 comments) (0 reactions) (0 assignees)TypeScript (371 forks)github user discovery
adapter-api-e2ehelp wanted

Repository metrics

Stars
 (8,563 stars)
PR merge metrics
 (Avg merge 1d 1h) (462 merged PRs in 30d)

Description

This issue was created by an agent analysing CI failures from the Next.js Deploy Suite (vinext main vs Next.js v16.2.6, 2026-05-22).

Problem

Templates should reset their state and re-render on each navigation. vinext either shows a This page couldn't load error or keeps the same instance value, indicating the template does not remount correctly on navigation.

template.tsx instance value preserved across navigations (should be fresh)

Estimated Impact

~2 test failures across the deploy suite.

Affected Test Suites

  • test/e2e/app-dir/app/index.test.ts (2 failures)

Recommendation

  1. Reproduce first in vinext's own test suite. Add a template.tsx that uses useState(Math.random()) and assert the value changes between navigations.

  2. Force remount of template.tsx on navigation. Wrap the template with a key that changes per navigation so React unmounts and remounts the subtree.


Part of #1328.

Contributor guide