[英]Next js : router.push routes to the target url but reloads it
我有一個頁面結構
pages
[re]
login
[slug.tsx]
從其中一個呈現的頁面, http://localhost:3000/in/login/data1
按鈕單擊router.push
被調用,
router.push(`in/login/data2`, undefined, { locale });
正如預期的那樣, router.push
使用更新的視圖路由到目標路徑,但它會重新加載頁面以清除 redux 存儲。 任何關於為什么會發生這種情況的指針?
注意:如果我直接在瀏覽器中加載http://localhost:3000/in/login/data1
並單擊按鈕轉到http://localhost:3000/in/login/data2
,就會發生此問題。 但是如果從主頁http://localhost:3000/
轉到http://localhost:3000/in/login/data1
一切正常,點擊
<Link href="/in/login/data1">
</Link>
你需要一種叫做淺層路由的東西。 淺路由允許您在不刷新頁面的情況下更改路由。 您需要做的就是像這樣在 router.push 函數中傳遞 shallow true
router.push(`in/login/data2`, undefined, { shallow: true });
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.