精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

中日韩午夜理伦电影免费| 亚洲免费视频中文字幕| 国产精品91在线| 精品手机在线视频| 欧美日韩国产一区二区在线观看| 偷拍与自拍一区| 亚洲午夜在线观看| 人妻无码中文字幕| 免费高清视频精品| 午夜免费日韩视频| 国产真实乱在线更新| 久本草在线中文字幕亚洲| 欧美影视一区二区三区| 久久手机在线视频| 91高清在线| 99这里都是精品| 成人福利视频网| youjizz在线视频| 欧美午夜影院| 日韩网站免费观看| 亚洲熟妇一区二区三区| 97一区二区国产好的精华液| 欧美系列日韩一区| 亚洲午夜精品久久久久久人妖| 免费a级毛片在线播放| 91视频在线看| 国产传媒一区二区| 国产精品一区二区黑人巨大 | 大香伊人久久精品一区二区 | 色片在线免费观看| 超碰国产一区| 亚洲成av人片在线观看| 日本不卡一区二区三区四区| 国产在线观看网站| 99精品欧美一区| 99热在线播放| 国产成人毛毛毛片| 韩国成人福利片在线播放| 国产大片精品免费永久看nba| 日本在线视频免费观看| 欧美视频网站| 久久久久久久久综合| 青青草国产在线观看| 97国产成人高清在线观看| 亚洲欧洲美洲在线综合| 国产艳俗歌舞表演hd| 日韩欧美国产大片| 日韩精品在线播放| 9.1成人看片| 亚洲最好看的视频| 亚洲美女在线看| 国产成人无码一区二区在线观看| 91成人入口| 亚洲成人在线视频播放| 第四色在线视频| 大奶在线精品| 精品香蕉在线观看视频一| 捆绑凌虐一区二区三区| 嗯用力啊快一点好舒服小柔久久| 精品福利一区二区三区免费视频| 自拍偷拍激情视频| 高潮久久久久久久久久久久久久| 精品国产污污免费网站入口 | 亚洲h视频在线观看| 国产传媒欧美日韩成人| 99在线首页视频| 成人免费视频国产| 91日韩在线专区| 日韩电影大全在线观看| 3p在线观看| 成人免费视频在线观看| 免费观看国产视频在线| 男人天堂亚洲| 欧美日韩国产色| 国产xxxxx在线观看| 超薄肉色丝袜脚交一区二区| 精品视频资源站| 午夜影院免费观看视频| 99国产精品久久一区二区三区| 亚洲黄页视频免费观看| 欧美成人国产精品一区二区| 国产精品成久久久久| 欧美激情啊啊啊| 51国产偷自视频区视频| 麻豆91在线观看| 99re视频在线| 欧美挠脚心网站| 亚洲图片欧美激情| 青娱乐自拍偷拍| av一区在线播放| 欧美不卡在线视频| 中文字幕在线看高清电影| 香蕉精品视频在线观看| 91黑丝高跟在线| 中文字幕一区二区三区人妻四季| 国产高清不卡二三区| 久久免费视频1| 黄在线免费观看| 欧美日韩在线免费| 搡的我好爽在线观看免费视频| 久9re热视频这里只有精品| 在线观看久久av| 国产无码精品久久久| 蜜臀av一区二区三区| 国产一区二区三区色淫影院| 欧美69xxxx| 亚洲大片免费看| 欧美一级视频在线| 亚洲美女久久| 欧美国产日韩一区二区| 夜夜躁很很躁日日躁麻豆| 成人h版在线观看| 少妇熟女一区二区| 美女网站视频一区| 亚洲国产成人精品久久久国产成人一区 | 欧美视频在线观看视频| 伊人久久精品| 亚洲午夜精品久久久久久性色| 国产无精乱码一区二区三区| 久久99国产精品久久99 | 国产午夜视频在线观看| 亚洲福利视频导航| 成人三级做爰av| 99久久www免费| 国产精品高潮呻吟视频| 天堂v在线观看| 亚洲福利一区二区| 日本少妇xxxx软件| 亚洲综合婷婷| 91精品中文在线| 日本激情视频在线观看| 在线亚洲免费视频| 色婷婷av777| 在线视频精品| 国产一区二区三区高清视频| 波多野结衣中文字幕久久| 日韩欧美久久一区| 国产一二三区精品| 国产一区二区视频在线播放| 宅男在线精品国产免费观看| 欧美黄色a视频| 中文字幕av一区二区三区谷原希美| 欧美三级午夜理伦| 99久久精品国产导航| 日韩av综合在线观看| 久久99精品久久久久久欧洲站| 欧美韩日一区二区| 欧美视频一二区| 午夜一区二区三区在线观看| 在线观看成人动漫| 日韩一区二区免费看| 久久国产日韩欧美| 黑人精品一区| 在线精品播放av| 在线免费观看视频网站| 国产精品久久777777| 少妇网站在线观看| 亚洲情侣在线| 国产亚洲欧美一区二区三区| 超碰成人av| 亚洲午夜小视频| 91在线视频国产| 亚洲乱码国产乱码精品精可以看| 成年人性生活视频| 亚洲国产清纯| 欧美一级日本a级v片| 国语自产精品视频在线看抢先版结局| 最近2019中文字幕在线高清| 国产又爽又黄免费软件| 一区二区三区资源| 国产精品伦子伦| 美女高潮久久久| 日韩 欧美 视频| 国产成人三级| 亚洲mm色国产网站| 国产在线精彩视频| 色777狠狠综合秋免鲁丝| 国内精品偷拍视频| 精品美女久久久久久免费| 免费网站在线高清观看| 国内精品伊人久久久久av影院| 日韩激情视频一区二区| 国产探花在线精品| www.av一区视频| 美女一区网站| 九九热最新视频//这里只有精品| 天天舔天天干天天操| 欧美日韩日日骚| 国产香蕉视频在线| 中文字幕日韩av资源站| 国产精品300页| 国产原创一区二区| 国产乱子夫妻xx黑人xyx真爽 | 久久精品国产99国产精品澳门 | 91蝌蚪porny| 国产永久免费网站| 久久精品123| 久久综合亚洲精品| 久久久影院免费| 久久av二区| 日本精品国产| 国产精品你懂得| 欧美aa在线观看| 九九热精品视频| 色开心亚洲综合| 亚洲欧美一区二区三区在线| 亚洲a视频在线观看| 欧美高清视频www夜色资源网| 亚洲天堂视频网站| 亚洲一区二区精品久久av| www.涩涩爱| 久久久精品国产99久久精品芒果 | 久久影院午夜论| 伊人久久久久久久久| 美女看a上一区| 欧美 日韩精品| 亚洲激情黄色| 国产又粗又猛又爽又黄的网站| 日韩精品第一区| 欧美极品一区| 自拍自偷一区二区三区| 国产麻豆日韩| 成人国产精品久久| 国产美女被下药99| 国产精品原创视频| 国产精品扒开腿做爽爽爽视频| 天堂av中文在线观看| 久久久亚洲福利精品午夜| 色呦呦网站在线观看| 久久天天躁日日躁| 日本在线视频观看| 日韩在线国产精品| 日本不卡视频| 色噜噜狠狠色综合网图区| av影片在线看| 色婷婷**av毛片一区| av在线资源站| 色狠狠av一区二区三区香蕉蜜桃| 999在线视频| 日韩中文字幕在线视频| 日本暖暖在线视频| 久久精品国产久精国产一老狼| 日韩大片在线永久免费观看网站| 视频在线观看99| 免费黄色网址在线观看| 久久精品免费电影| 污污的网站在线看| 欧美国产精品va在线观看| heyzo一区| 亲子乱一区二区三区电影| 欧美成人精品三级网站| 国产精品麻豆va在线播放| 国产精品.xx视频.xxtv| 成人字幕网zmw| 香蕉成人app| 国产日韩一区欧美| 神马久久一区二区三区| 日韩欧美一区二区三区久久婷婷| 精品国产1区| 中国成人在线视频| 欧美黄色一区二区| 男人日女人视频网站| 久久在线91| 国产无遮挡猛进猛出免费软件 | 中文字幕免费高清电视剧网站在线观看| 久久中文字幕在线| 2018av在线| 国产成人综合亚洲| 国产精品中文| 国产欧美一区二区三区另类精品 | 成人性生交大片免费看中文| 可以直接看的无码av| 国产精品久久久久三级| 欧美人禽zoz0强交| 狠狠色狠狠色综合日日五| 中文字幕91爱爱| 日韩精品最新网址| 可以免费看污视频的网站在线| 色悠悠久久88| 51精品视频| 成人国产精品色哟哟| 久久久久观看| 中文字幕色一区二区| 在线欧美三区| 天天干天天综合| 成人免费毛片高清视频| 在线看片中文字幕| 亚洲成人综合视频| 亚洲视频一区在线播放| 亚洲国产福利在线| 色影视在线观看| 欧美专区第一页| 蜜桃精品视频| 亚洲毛片aa| 国产亚洲高清视频| 一个人看的视频www| 国产日韩欧美a| 日本一本高清视频| 欧美一区二区三区喷汁尤物| 免费毛片在线| 久久久久久久久久久久久久久久久久av| 日韩毛片一区| 久久99精品久久久久久青青日本| 国产精品精品| 成人3d动漫一区二区三区| 丁香婷婷综合五月| 日韩福利小视频| 欧洲日韩一区二区三区| 日本黄在线观看| 欧美黑人性猛交| 另类视频一区二区三区| 日日噜噜噜噜夜夜爽亚洲精品| 亚洲精品影视| 又色又爽又黄18网站| 18欧美亚洲精品| 性色av一区二区三区四区| 日韩久久免费电影| 黄色美女视频在线观看| 亚洲自拍欧美另类| 99精品视频在线观看播放| 免费一级特黄录像| 久久久蜜臀国产一区二区| 成人在线免费看视频| 亚洲大胆美女视频| 国内高清免费在线视频| 亚洲一区二区三区视频| 午夜av一区| 久久6免费视频| 国产精品久久久久7777按摩| 中文字幕精品在线观看| 伊人青青综合网站| 欧美精品高清| 日韩国产在线一区| 久久精品卡一| 欧美激情aaa| 一本高清dvd不卡在线观看| 日韩有码电影| 欧美亚洲在线观看| 国产探花在线精品一区二区| 国产精品亚洲二区在线观看| 国产亚洲午夜高清国产拍精品| 日韩人妻精品中文字幕| 亚洲欧美日韩另类| 婷婷激情一区| 亚洲成人a**址| 美女脱光内衣内裤视频久久影院| 波多野结衣家庭教师在线观看| 欧美日韩中文字幕精品| 顶级网黄在线播放| 亚洲在线第一页| 在线欧美三区| 91网站免费入口| 欧美日韩国产另类一区| 国产在线观看av| 99精品国产高清一区二区| 日韩天堂av| 偷拍女澡堂一区二区三区| 欧美性大战久久久| 国产美女在线观看| 国产美女精品久久久| 国产精品一卡| 黄色国产在线播放| 欧美一级电影网站| heyzo中文字幕在线| 欧洲精品国产| 极品少妇一区二区三区精品视频| 五月婷婷一区二区| 亚洲精品久久视频| 秋霞国产精品| 国内自拍中文字幕| 91麻豆国产在线观看| 亚洲婷婷久久综合| 久久69精品久久久久久国产越南| 国产图片一区| 日韩一级理论片| 亚洲黄一区二区三区| 日本成人一区二区三区| 国产中文字幕91| 最新成人av网站| www.黄色在线| 精品国产青草久久久久福利| 日韩精品专区| 久久久99精品视频| 久久久精品国产免大香伊| 99草在线视频| 日韩免费视频在线观看| 欧美色图首页| 黄色免费一级视频| 亚洲高清在线观看| 亚洲欧美专区| 国产成人a亚洲精v品无码| 中文字幕一区二区三区av| 色窝窝无码一区二区三区| 国产日韩在线亚洲字幕中文| 亚洲九九精品| 紧身裙女教师波多野结衣| 日韩精品一区二区视频| 一区二区三区国产好| 日本中文字幕精品—区二区| 天天影视色香欲综合网老头|