簡體   English   中英

接下來 js: router.push 路由到目標 url 但重新加載它

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM