摘要:原始文檔在現(xiàn)在搬過來學習入門學習頁面之間的導航學習使用共享組件學習創(chuàng)建動態(tài)內(nèi)容學習使用路由掩碼創(chuàng)建干凈的學習干凈的服務器支持學習獲取數(shù)據(jù)學習部署頁面之間的導航現(xiàn)在我們知道了如何創(chuàng)建一個應用程序并且運行它我們的示例應用程序只有一個簡單的頁面但
頁面之間的導航原始文檔在 https://github.com/developerw... 現(xiàn)在搬過來.
學習 Next.js: 入門
學習 Next.js: 頁面之間的導航
學習 Next.js: 使用共享組件
學習 Next.js: 創(chuàng)建動態(tài)內(nèi)容
學習 Next.js: 使用路由掩碼創(chuàng)建干凈的URL
學習 Next.js: 干凈URL的服務器支持
學習 Next.js: 獲取數(shù)據(jù)
學習 Next.js: 部署
現(xiàn)在我們知道了如何創(chuàng)建一個Next.js應用程序并且運行它. 我們的示例應用程序只有一個簡單的頁面, 但是如果你想, 可以添加更多的頁面. 例如, 可以創(chuàng)建一個 "About" 頁面, 并添加內(nèi)容到 pages/about.js.
export default () => {}This is the about page
然后, 我們可以打開 http://localhost:3000/about 來訪問這個頁面. 然后我們需要鏈接這些頁面, 使用HTML的 "a" 標簽, 但是它并不會執(zhí)行客戶端導航, 它是執(zhí)行的服務器端導航, 這并不是我們想要的.
為了支持客戶端導航, 我們需要使用Next.js 的Link API, 它是通過 next/link 導出的. 下面我們來看看如何使用它.
設置為了按照本課程學習, 需要有一個示例Next.js應用程序, 為此, 你可以下載下面的這個應用程序作為學習案例:
git clone https://github.com/arunoda/learnnextjs-demo.git cd learnnextjs-demo git checkout getting-started
可以用下面的命令來運行:
npm install npm run dev
現(xiàn)在, 訪問 http://localhost:3000/.
使用 Link現(xiàn)在我們將會使用 next/link 來連接我們的頁面. 添加如下代碼到 page/index.js 模塊文件
// This is the Link API import Link from "next/link" const Index = () => (About Page) export default IndexHello Next.js
在這個例子中, 我們導入了 next/link 作為 Link 模塊, 并且向下面這樣使用它:
About Page
現(xiàn)在, 再次訪問 http://localhost:3000/, 點擊 "About Page" 連接, 你將被帶到 "About Page" 頁面.
這是客戶端導航, 行為發(fā)生在客戶端, 沒有請求服務器. 你可以打開瀏覽器開發(fā)工具的網(wǎng)絡標簽, 看看有沒有網(wǎng)絡請求來驗證.
下面是一個簡單的任務:
訪問 http://localhost:3000/
點擊 "About Page"
點擊瀏覽器的后退按鈕
描述一下, 點擊后退按鈕后你看到了什么? 是的, 客戶端導航把你帶回了Index頁面.
客戶端歷史支持當你點擊后退按鈕的時候, Next.js把你帶回了Index頁面, 這個過程完全是客戶端實現(xiàn)的; next/link 為你處理了所有 location.history相關的事情. 你甚至不需要編寫任意一行客戶端路由代碼.
你需要做的只是簡單的連接頁面而已, 就這樣!
給連接添加樣式大多數(shù)情況, 我們可能想要給連接添加一點樣式. 想下面這樣:
About Page
添加了樣式后, 你會看到, 樣式被正確的設置了.
但是, 如果你想下面一樣呢, 會發(fā)生什么?
About Page
對的, 沒任何效果!
連接僅僅是一個高階組件(HOC:Higher Order Component)實際上, 樣式屬性在 next/link 上是沒有效果的. 因為 next/link 僅僅是一個能夠接收 href 屬性, 以及其他屬性的高階主鍵. 如果你要給它設置樣式, 需要在底層的組件進行設置.
使用按鈕進行連接現(xiàn)在, 我們需要一個按鈕而不是一個連接, 現(xiàn)在我們需要修改我們的導航代碼, 像這樣:
讓連接能夠任意工作
就像一個按鈕一樣, 你可以在Link中放置任何你的自定義React組件, 甚至是一個div元素.放在Link中的組件的唯一要求是, 它能夠接受一個 onClick 屬性.
連接雖然簡單, 但是強大這里, 我們只看到了關于 next/link 的很基本的例子. 接下來的課程我們會更加深入的了解如何使用Link. 如果你想要了解Next.js的路由功能, 參考 Next.js 路由文檔 文檔.
文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/83246.html
摘要:原始文檔在現(xiàn)在搬過來學習入門學習頁面之間的導航學習使用共享組件學習創(chuàng)建動態(tài)內(nèi)容學習使用路由掩碼創(chuàng)建干凈的學習干凈的服務器支持學習獲取數(shù)據(jù)學習部署使用共享組件我們知道是和頁面相關的通過導出一個組件創(chuàng)建一個頁面然后把它放到目錄中基于這個文件名存 原始文檔在 https://github.com/developerw... 現(xiàn)在搬過來. 學習 Next.js: 入門學習 Next.js: ...
摘要:原始文檔在現(xiàn)在搬過來學習入門學習頁面之間的導航學習使用共享組件學習創(chuàng)建動態(tài)內(nèi)容學習使用路由掩碼創(chuàng)建干凈的學習干凈的服務器支持學習獲取數(shù)據(jù)學習部署使用路由掩碼創(chuàng)建干凈的在前面的課程中我們學到了如何使用查詢串創(chuàng)建動態(tài)頁面一次為基礎我們一篇博客的 原始文檔在 https://github.com/developerw... 現(xiàn)在搬過來. 學習 Next.js: 入門學習 Next.js: ...
摘要:原始文檔在現(xiàn)在搬過來學習入門學習頁面之間的導航學習使用共享組件學習創(chuàng)建動態(tài)內(nèi)容學習使用路由掩碼創(chuàng)建干凈的學習干凈的服務器支持學習獲取數(shù)據(jù)學習部署干凈的服務器支持在前面的課程中我們學習了如何為我們的應用程序創(chuàng)建干凈的基本上我們讓像這樣但是 原始文檔在 https://github.com/developerw... 現(xiàn)在搬過來. 學習 Next.js: 入門學習 Next.js: 頁面...
摘要:原始文檔在現(xiàn)在搬過來學習入門學習頁面之間的導航學習使用共享組件學習創(chuàng)建動態(tài)內(nèi)容學習使用路由掩碼創(chuàng)建干凈的學習干凈的服務器支持學習獲取數(shù)據(jù)學習部署為頁面獲取數(shù)據(jù)得益于路由的優(yōu)點我們知道了如何創(chuàng)建一個具有簡介的應用程序?qū)嶋H上我們通常需要從遠程數(shù) 原始文檔在 https://github.com/developerw... 現(xiàn)在搬過來. 學習 Next.js: 入門學習 Next.js: ...
摘要:原始文檔在現(xiàn)在搬過來學習入門學習頁面之間的導航學習使用共享組件學習創(chuàng)建動態(tài)內(nèi)容學習使用路由掩碼創(chuàng)建干凈的學習干凈的服務器支持學習獲取數(shù)據(jù)學習部署創(chuàng)建動態(tài)頁面現(xiàn)在我們知道了如何使用多個頁面創(chuàng)建一個基本的應用程序為了創(chuàng)建頁面我們需要在磁盤上創(chuàng)建 原始文檔在 https://github.com/developerw... 現(xiàn)在搬過來. 學習 Next.js: 入門學習 Next.js: ...
閱讀 1694·2021-10-13 09:39
閱讀 3166·2021-10-12 10:11
閱讀 558·2021-09-28 09:36
閱讀 2642·2019-08-30 15:55
閱讀 1392·2019-08-30 13:04
閱讀 635·2019-08-29 17:08
閱讀 1915·2019-08-29 14:14
閱讀 3415·2019-08-28 18:23