英文:
Routing from Page 1 to Page 2, then coming back to Page 1 using browser back, breaks Page 1 [NextJS 13]
问题
我正在使用next
13.4.5和基于typescript的/app
路由。
在我的第一页,我有<Link>
(next/link),从中我导航到第二页。
如果我使用浏览器的返回按钮回到第一页,整个页面会出现问题。例如,顶部部分消失了,页面从中间开始。其他页面的CSS不起作用等。
我的第一页完全是SSR。但在第二页,我在page.tsx
中使用了"use client"
。
分享上述网站的部署版本:
要重现问题,请转到https://buzzli.vercel.app并在右上角按下“开始使用”按钮。这是next/link
标签。它会带你到登录页面。然后尝试使用返回按钮回到上一页。您将看到错误。
我不知道我在这里做错了什么,所以不分享任何代码。
英文:
I'm using next
13.4.5 and /app
based routing with typescript.
In my page 1, I have <Link>
(next/link), from which I navigate to Page 2.
If I use the browser back button to come back to page 1, the whole page breaks. For example, the top section vanishes, and page starts from middle. CSS for the rest of the pages don't work, etc.
My page 1 is fully SSR. But in page 2, I have used "use client";
in the page.tsx
.
Sharing a deployed version of the above mentioned site:
- The home page is the page 1.
- The login page is the page 2.
For reproduction, please go to https://buzzli.vercel.app and at the top right corner, press the "Get Started" button. This is the next/link
tag. It will take you to the login page. Then try to come back to the previous page using the back button. You'll see the error.
I don't know what I'm doing wrong here, so not sharing any code.
答案1
得分: 0
我找出了问题。
实际上问题出在嵌套的<html>
标签中。
项目结构如下:
/
--> 布局
--> 页面
--> /登录
--> 布局(问题出在这里)
--> 页面
我错误地在这个内部布局文件中放了另一个html
标签。
英文:
I figured out the problem.
Actually the problem lied in nested <html>
tags.
The project structure was something like this:
/
--> layout
--> page
--> /login
--> layout (the problem lied here)
--> page
By mistake, I had put another html
tag in this inner layout file.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论