精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

分享七個你可能不知道的 Next.js 14 小技巧

開發 前端
隨著NextJS 14的發布,我們見證了前端開發領域的一次重大變革。這個版本不僅加強了對開發者體驗的關注,還通過諸如路由分組、動態元數據、私有路由、可選的捕獲所有段以及活動鏈接等功能,大幅提升了應用的性能和可用性。

NextJS 14的發布不僅僅是一個簡單的更新,它代表了對開發者體驗和應用速度的全新關注。對于使用React的開發者來說,NextJS 14承諾帶來更快速、更愉快的開發體驗。無論是新項目的開始,還是現有項目的升級,NextJS 14都值得一試。

今天,我將向大家介紹一些關于NextJS的概念,這些可能是許多開發者所不知道的。你可以利用這些概念來優化你的應用,并改善開發者體驗。

1. 路由分組:整理雜亂的文件結構(Route Groups)

在開發大型Web應用時,文件夾結構可能會變得復雜混亂,特別是在處理路由時。NextJS提供了一種稱為路由分組的功能,可以幫助你更有效地組織路由結構。

混亂的文件結構:

在沒有使用路由分組的情況下,你可能會在pages文件夾中看到許多雜亂無章的路由文件,這使得找到特定路由變得困難。

使用路由分組整理:

通過使用路由分組,你可以將相關的路由放在同一個文件夾(即路由組文件夾)下。這樣,你就可以根據不同主題或功能輕松地找到相關路由。

例如,你可以創建一個名為auth的路由組文件夾,然后將所有與認證相關的路由(如登錄、注冊)放在這個文件夾下。

路由分組的優勢:

  • 清晰的文件結構:通過路由分組,你的項目結構將更加清晰有序。
  • 易于維護:分組后的結構使得維護特定功能或模塊的路由更加容易。
  • 不影響URL結構:值得注意的是,路由分組不會在URL中添加文件夾名稱。例如,即使有一個名為auth的分組文件夾,URL仍然是http://localhost:3000/sign-in,而不是http://localhost:3000/auth/sign-in。

2. 靜態元數據(Static Metadata)

Next.js提供了一個元數據API,允許開發者定義應用程序的元數據(例如,在HTML的head元素中的meta和link標簽),這對于提升搜索引擎優化(SEO)和網頁分享性非常有幫助。

元數據API的使用

你可以在頁面組件(如page.tsx)或布局組件(如layout.tsx)中使用元數據API。

import type { Metadata } from 'next'
 
export const metadata: Metadata = {
  title: 'Hero's Blog',
  description: 'Blog created by Hero',
}

3. 動態元數據(Dynamic Metadata)

在Next.js中,你可以使用generateMetadata函數來獲取需要動態值的元數據。這對于提高網站的SEO得分非常有效。

動態元數據的實現

import type { Metadata } from "next";

type Props = {
    params: {
        id: string
    }
};

export const generateMetadata = ({ params }: Props): Metadata => {
    return {
        title: `Product ${params.id}`
    }
};

export default function FavouriteProductDetails({ params }: Props) {
    return <h1>Favourite Product Details {params.id}</h1>
}

在這個示例中,我們定義了一個generateMetadata函數,它根據傳入的params(在這個例子中是產品ID)動態生成元數據。這樣,每個產品詳情頁都可以擁有獨特的標題,有助于提升SEO效果。

元數據的排序

Next.js在處理元數據時,會按照從根路徑到最終頁面的路徑順序來評估元數據。例如:

  • app/layout.tsx(根布局)
  • app/favourite/layout.tsx(嵌套的博客布局)
  • app/favourite/[slug]/page.tsx(博客頁面)

這種結構確保了元數據可以從最頂層布局繼承下來,同時也可以在更深層次的頁面中進行定制和覆蓋。

使用動態元數據的優勢

  • SEO提升:通過為每個頁面提供獨特且相關的元數據,可以顯著提高頁面在搜索引擎中的可見度。
  • 個性化體驗:動態元數據允許根據頁面內容或用戶行為提供更個性化的頁面標題和描述。
  • 靈活性:動態生成元數據的能力提供了高度的靈活性,使得開發者可以針對不同的頁面和情境調整元數據。

通過動態元數據的應用,Next.js 14為開發者提供了更多的控制權,使他們能夠針對每個頁面精確地優化SEO,從而提升用戶體驗和網站的整體表現。

4. 私有路由

在Next.js中,私有路由指的是那些不能被用戶通過網站直接訪問的文件夾,即那些不會直接提供給客戶端的Web頁面。

實現私有路由的方法

創建獨立的組件目錄

將組件放置在app目錄之外的單獨目錄中。這樣做可以確保這些組件不會被當作頁面直接訪問。

例如,你可以創建一個名為components的目錄來存放所有的共享組件。

在app目錄下的任意目錄中創建_components文件夾

在app目錄的任何子目錄中創建一個以下劃線開頭的文件夾(如_components),這樣的文件夾和其中的文件不會被Next.js當作頁面來處理。

例如,在app目錄下的favourite目錄中創建一個_components文件夾:

在目錄中創建不直接提供給客戶端的文件

在特定目錄中創建文件,這些文件不會直接作為頁面提供給客戶端,除非它們被顯式地添加到page.tsx文件中。

5. 捕獲所有段(Catch-all Segments)

在Next.js中,動態路由可以通過在括號內添加省略號[...segmentName]來擴展為捕獲所有后續的段。

示例說明

例如,路徑/docs/[...slug]/page.tsx不僅會匹配/docs/topic,還會匹配/docs/topic/1等更深層次的路由。但是,如果URL是/docs,它會返回一個404錯誤。

代碼片段

import React from 'react';

type Params = {
    params: {
        slug: string[]
    }
};

export default function SlugPage({ params: { slug } }: Params) {
    return (
        <div>
            <h1>Viewing Custom Slug Page</h1>
            <span>URL Contains: {slug.toString()} </span>
        </div>
    );
}

在這個代碼片段中,我們定義了一個SlugPage組件,它接收slug作為參數,并將其轉換為字符串顯示在頁面上。

解決404錯誤

你可能想知道是否有辦法解決/docs這個路由的404錯誤。答案是肯定的,你可以通過一些方法來解決這個問題,答案在下面,請繼續往下看

6. 可選的捕獲所有段(Optional Catch-All Segments)

在Next.js中,通過將參數放在雙方括號中:[[...segmentName]],可以使捕獲所有段成為可選的。

例如,路由/docs/[[...slug]]/page.tsx不僅會匹配/docs/topic、/docs/topic/10等路由,還會匹配/docs本身。

可選的捕獲所有段與普通捕獲所有段的區別

  • 普通捕獲所有段:必須包含至少一個參數,例如/docs/topic。
  • 可選的捕獲所有段:可以匹配沒有任何參數的路由,例如/docs。

7. 活動鏈接(Active Links)

在網站上,你可能注意到當前正在查看的頁面鏈接往往有特殊的樣式或覆蓋層。這是一種提升用戶體驗的常用方法。今天,我將介紹如何實現這一功能。

創建一個導航欄組件

首先,在components目錄中創建一個名為Navbar.tsx的文件。這將是一個客戶端組件,因為用戶將與導航欄互動。在文件頂部添加“use client”指令,并從next/navigation中導入一個名為usePathname的鉤子。

示例代碼

"use client";
import Link from 'next/link';
import { usePathname } from 'next/navigation';
import React from 'react';

type Links = {
    title: string,
    url: string
};

export default function Navbar() {

    const links: Links[] = [
        {
            title: "Sign In",
            url: "/sign-in"
        },
        {
            title: "Favourite",
            url: "/favourite/1"
        },
    ];

    const pathname = usePathname();

    return (
        <div className='flex space-x-4'>
            {links.map(({ title, url }: Links) => {
                const isActive = pathname.startsWith(url);

                return <Link
                    className={isActive ? "font-bold text-emerald-500" : "text-white"}
                    key={title}
                    href={url}>
                    {title}
                </Link>
            })}
        </div>
    )
}

解釋代碼

  • 定義鏈接:通過創建一個名為links的常量來定義你想要在導航欄中顯示的鏈接。
  • 映射鏈接:使用map方法遍歷links數組,并為每個鏈接生成一個Link組件。
  • 活動鏈接樣式:使用usePathname鉤子獲取當前的路徑。然后通過比較當前路徑和鏈接的url,決定是否為該鏈接應用活動狀態的樣式。

效果

當用戶點擊其中一個鏈接時,該鏈接的文本顏色會改變,這表明了用戶當前所處的頁面。例如,點擊“Sign In”鏈接后,文本顏色變化,從而增強了用戶體驗。

注意事項

確保你要使用的路由URL已經存在,否則會出現404錯誤。

通過以上步驟,你可以在Next.js應用中創建一個具有活動狀態樣式的導航欄,這不僅讓用戶界面看起來更加友好,還能提高用戶的導航體驗。

結束

隨著NextJS 14的發布,我們見證了前端開發領域的一次重大變革。這個版本不僅加強了對開發者體驗的關注,還通過諸如路由分組、動態元數據、私有路由、可選的捕獲所有段以及活動鏈接等功能,大幅提升了應用的性能和可用性。這些創新特性不僅簡化了復雜應用的開發和維護,也為最終用戶帶來了更加流暢和直觀的瀏覽體驗。NextJS 14的這些優化措施,無疑將助力開發者構建更加高效、更加用戶友好的現代Web應用。作為React開發者,掌握并應用這些新特性,將是我們適應和引領前端技術潮流的關鍵。讓我們擁抱NextJS 14,共同開啟前端開發的新篇章!

責任編輯:姜華 來源: 今日頭條
相關推薦

2017-11-07 21:58:25

前端JavaScript調試技巧

2023-11-06 11:32:46

CSS選擇器作用域

2015-08-13 09:03:14

調試技巧

2020-01-29 19:40:36

Python美好,一直在身邊Line

2021-01-05 11:22:58

Python字符串代碼

2024-02-05 11:55:41

Next.js開發URL

2024-03-04 00:00:00

Kubernetes技巧API

2017-02-23 19:42:55

AS Android代碼

2020-11-03 09:51:04

JavaScript開發 技巧

2020-12-14 07:51:16

JS 技巧虛值

2021-02-16 09:02:59

Python代碼技巧

2012-11-23 10:57:44

Shell

2022-09-20 11:58:27

NpmNode.js

2023-04-09 23:37:31

JavaScript開發

2021-11-01 12:10:56

Python技巧代碼

2014-04-10 13:15:54

PythonPython技巧

2019-11-20 10:25:06

sudoLinux

2022-12-09 15:06:26

字符串Intl字符串分割

2022-12-21 08:05:04

字符串分割技巧

2023-02-27 09:20:24

絕對定位CSS
點贊
收藏

51CTO技術棧公眾號

亚洲国产高清国产精品| 欧美丰满老妇厨房牲生活| 欧美日韩第二页| 自拍视频在线播放| 国产一区二区三区在线观看免费| 欧美理论电影在线观看| 人妻在线日韩免费视频| 亚洲天堂1区| 一区二区三区高清| 久久综合婷婷综合| 国产人妖一区二区三区| 国产一区白浆| 久热精品视频在线观看| 欧美无人区码suv| 亚洲午夜国产成人| 日韩人体视频一二区| 成人手机视频在线| 午夜在线观看视频18| 韩国av一区二区三区在线观看| 97精品在线视频| 人人澡人人澡人人看| 欧美一性一交| 91麻豆精品国产91久久久久久| 日本福利视频在线| a视频在线免费看| 国产欧美一区二区三区在线老狼| 99se婷婷在线视频观看| 性高潮视频在线观看| 国产在线欧美| 色午夜这里只有精品| 国产精品一区二区入口九绯色| 天天综合在线观看| 91福利在线免费观看| 日本欧美黄色片| 一色桃子av在线| 最新日韩av在线| 亚洲精品二区| 成人综合影院| 国产调教视频一区| 久久天天狠狠| 午夜福利视频一区二区| 丁香婷婷综合色啪| 亚洲xxxx视频| 99国产精品欲| 国产一区二区在线看| 国产拍精品一二三| 中文字幕 亚洲视频| 日韩精品五月天| 国产成人亚洲综合91精品| 久久99精品波多结衣一区| 亚洲毛片一区| 91精品国产高清久久久久久久久| 久久国产精品波多野结衣av| 亚洲国产精品成人| 欧美成人精品一区二区三区| 中文字幕影音先锋| 欧美日韩一区自拍| 欧美国产日韩中文字幕在线| 久久精品99国产精| 欧美日韩亚洲一区在线观看| 久久久久久久久久久91| 久久久久亚洲av无码专区 | 久久久久久久久一区| 六月婷婷综合网| 99久久精品一区| 久久av二区| 国产系列电影在线播放网址| 国产欧美综合在线观看第十页| 亚洲国产午夜伦理片大全在线观看网站 | 欧美gay视频| 色94色欧美sute亚洲线路一ni| 欧美 日韩精品| 97精品国产综合久久久动漫日韩| 在线观看日韩毛片| 中文字幕第38页| 激情久久免费视频| 精品盗摄一区二区三区| 免费看黄色aaaaaa 片| 免费视频一区三区| 少妇久久久久久| 国产女片a归国片aa| 亚洲人成高清| 国产精品久久久久高潮| 国产麻豆一精品一男同| 国产精品一区二区无线| 久久精品中文字幕一区二区三区| 国产美女性感在线观看懂色av| 中文字幕在线免费不卡| 欧美日韩dvd| 伊人色综合一区二区三区影院视频| 欧美性生活久久| 制服下的诱惑暮生| 亚洲自拍电影| 免费91在线视频| 国产精品久免费的黄网站| 美女任你摸久久| 国产精品果冻传媒潘| 国产中文字幕在线看| 亚洲精品欧美在线| 免费黄色福利视频| 97久久中文字幕| 日韩经典一区二区三区| 99自拍偷拍视频| 亚洲日本视频| 91精品在线影院| 瑟瑟在线观看| 一区二区三区视频在线观看| 亚洲人成无码www久久久| 麻豆国产一区| 国产一区二区三区三区在线观看| 免费视频网站www| 青青草97国产精品免费观看无弹窗版| 国产成人一区二区三区免费看| av中文资源在线| 五月天一区二区三区| 色www免费视频| 天堂av一区二区三区在线播放| 另类图片亚洲另类| 日韩精选在线观看| www.激情成人| 精品人妻人人做人人爽| 日韩一级特黄| 伊人久久久久久久久久久久久 | 在线观看成人小视频| 亚洲午夜久久久久久久久| 久久人人99| 日本视频久久久| 色噜噜一区二区三区| 亚洲欧洲综合另类在线| 午夜宅男在线视频| 国产精品自拍区| 热99在线视频| 午夜在线视频观看| 五月婷婷综合激情| 日韩精品aaa| 97精品在线| 国产精品偷伦一区二区| 成人欧美亚洲| 欧美视频精品在线观看| 男人舔女人下部高潮全视频| 先锋影音久久| 免费99视频| 亚洲永久av| 亚洲欧美中文字幕在线一区| 国产精品500部| 97久久超碰国产精品| 亚洲中文字幕无码av永久| 一区二区三区在线资源| 欧美激情综合色| 免费看av毛片| 午夜日韩在线观看| 日本一级片在线播放| 99日韩精品| 欧美激情第一页在线观看| 国产精品av一区二区三区| 亚洲男人av电影| 波多野结衣一二区| 国产精品美女久久福利网站| 亚洲免费黄色录像| 午夜精彩国产免费不卡不顿大片| 7777精品久久久大香线蕉小说| 日韩另类在线| 亚洲国产成人一区| 久久久久在线视频| 国产精品女主播av| а 天堂 在线| 亚洲国产精品一区制服丝袜| 韩国一区二区三区美女美女秀| 欧美在线极品| 中文字幕综合一区| 91国内精品视频| 亚洲线精品一区二区三区 | 亚洲欧洲av色图| 亚洲国产欧美91| 99成人在线| 日韩亚洲不卡在线| 精品国产亚洲一区二区在线观看| 欧美激情在线一区| 东热在线免费视频| 欧美一区二区精品| 日韩欧美成人一区二区三区| 欧美高清在线一区| 国产ts在线观看| 午夜亚洲视频| 免费国产成人看片在线| 欧洲亚洲一区二区三区| 国产综合视频在线观看| 久久不射影院| 一本大道久久加勒比香蕉 | 亚洲国模精品一区| 性色av一区二区三区四区| 伊人性伊人情综合网| 中文字幕一区二区久久人妻网站| 青娱乐精品在线视频| av影院在线播放| 久久99精品久久久久久园产越南| 成人性生交大片免费看视频直播| 97天天综合网| 精品国产美女在线| 五月婷婷深深爱| 制服丝袜av成人在线看| 成人在线免费看视频| 综合久久久久久| 日本激情小视频| 国产成人午夜电影网| 亚洲精品一二三四五区| 亚洲网站视频| 五月天男人天堂| 少妇精品久久久一区二区| 国产精品二区三区四区| 国产成人精品一区二区三区视频 | 每日在线观看av| 国产韩国精品一区二区三区| 欧美13一14另类| 粉嫩精品导航导航| 2020国产精品久久精品不卡| 91精品美女| 国产98色在线| 国产精品xx| 欧美大片第1页| 国产成人l区| www.欧美精品一二三区| 成人精品一区| 亚洲欧美在线免费| 天天操天天操天天操| 日韩手机在线导航| 国产一区二区视频免费观看| 在线精品视频小说1| 久久久久久少妇| 亚洲成年人影院| 欧美三级免费看| 亚洲男人的天堂网| 日韩精品一区二区三区在线视频| 国产欧美一区二区精品性色超碰| 91精品小视频| 91网址在线看| 三级黄色片网站| 99视频国产精品| 污片免费在线观看| av午夜精品一区二区三区| 午夜影院福利社| 成人三级伦理片| 日本精品一二三区| 高清在线观看日韩| 俄罗斯黄色录像| 成人免费毛片aaaaa**| 绯色av蜜臀vs少妇| 国产91综合一区在线观看| 国产成人精品一区二区| 国内高清免费在线视频| 久久久久久九九九| 国产美女福利在线观看| 欧美精品久久久久久久免费观看| 牛牛精品在线视频| 欧美巨猛xxxx猛交黑人97人| 在线看三级电影| 欧美激情日韩图片| 国产精品xx| 国产成人精品久久二区二区91| 国产精品久久亚洲不卡| 国产在线不卡精品| 日韩精品一区二区三区中文 | 日韩电影网址| 亚洲视频在线播放| 欧美精品电影| 欧美二区在线播放| 两个人看的在线视频www| 日韩av手机在线| 色999韩欧美国产综合俺来也| 91在线无精精品一区二区| 超碰在线一区| 欧美综合激情| 五月天久久网站| 成人性生活视频免费看| 噜噜爱69成人精品| 日韩在线不卡一区| 不卡一卡二卡三乱码免费网站| 免费一级做a爰片久久毛片潮| 国产精品久久久久一区| 黄色一级视频在线观看| 日韩欧美在线中文字幕| 亚洲天堂777| 亚洲成年人在线| 国产三级在线观看| 欧美成人自拍视频| 韩国美女久久| 91精品综合久久| 亚洲人成伊人成综合图片| 夜夜春亚洲嫩草影视日日摸夜夜添夜| 午夜欧美精品| 日韩中文字幕高清在线观看| 日本高清不卡在线| 亚洲成a人片777777久久| 国产精品免费一区二区三区观看| 久久av免费| 91国在线高清视频| 日韩福利视频网| 手机在线播放av| 国产丝袜在线精品| 久热这里只有精品在线| 欧美综合久久久| 懂色av蜜臀av粉嫩av分享吧| 亚洲日韩欧美视频一区| 在线不卡日本v二区707| 国产精品精品视频| 欧美精品中文| 裸体大乳女做爰69| 日韩电影免费在线看| 国产51自产区| 亚洲日本中文字幕区| 日本免费精品视频| 日韩精品视频免费| 日本在线视频网址| 成人黄色片在线| av亚洲在线观看| www国产黄色| 成人自拍视频在线| 亚洲综合视频网站| 欧美视频三区在线播放| 日韩三级电影网| 久久久久久久久久国产| 日本在线成人| 一区二区三区国| 日本人妖一区二区| 3d动漫精品啪啪一区二区下载| 亚洲成人免费电影| 国产av无码专区亚洲av麻豆| 精品国产一区二区三区久久| 成人啊v在线| 日本午夜一区二区三区| 蜜桃av综合| 在线免费观看麻豆| 欧美日韩国内自拍| 亚洲 小说区 图片区 都市| 欧美精品成人在线| 日韩成人在线看| 国产日韩欧美大片| 国产在线不卡一区| 欧美人禽zoz0强交| 欧美高清一级片在线| 免费黄色在线| 国产精自产拍久久久久久| 成人影视亚洲图片在线| 久久婷婷国产91天堂综合精品| 国产日韩在线不卡| 成年人视频免费| 一区二区三区在线播放欧美| 99久久婷婷国产综合精品首页| 日韩免费电影一区二区三区| 视频一区视频二区中文字幕| 无码人妻丰满熟妇啪啪欧美| 色菇凉天天综合网| 北条麻妃在线| 91精品综合久久久久久五月天| 91精品国产自产拍在线观看蜜| 一级淫片在线观看| 一区二区三区精品视频在线| 人人妻人人澡人人爽久久av| 97久久久免费福利网址| 亚洲大片精品免费| 亚洲成色www.777999| 国产精品视频一二三| 国产露脸无套对白在线播放| 欧美精品一区在线播放| 狠狠一区二区三区| 男人操女人免费软件| 国产欧美精品一区二区三区四区 | 中文字幕在线2021| 日韩精品专区在线影院重磅| ****av在线网毛片| 久久青青草综合| 久久99久久99精品免视看婷婷| 欧美日韩亚洲国产另类| 亚洲国产小视频在线观看| 日本高清不卡一区二区三区视频| 亚洲国产一区二区三区在线| 国产.欧美.日韩| 天干夜夜爽爽日日日日| 久久精品国产99国产精品澳门| av不卡一区| 国产精品入口免费软件| 亚洲人成亚洲人成在线观看图片| 特级丰满少妇一级aaaa爱毛片| 国产高清在线不卡| 欧美三级网页| www.av天天| 精品少妇一区二区三区免费观看| 美女福利一区二区| 久久久无码中文字幕久...| 91视频免费看| 国产精品探花视频| 日韩av电影免费观看高清| 欧美国产三区| 国产视频三区四区| 精品国产精品一区二区夜夜嗨| av久久网站| 777精品久无码人妻蜜桃| 中文字幕一区二区三区在线观看 | 99久久精品久久久久久清纯| 亚洲一级av毛片|