日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

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

來源: 責編: 時間:2024-04-02 17:23:30 252觀看
導讀NextJS 14的發布不僅僅是一個簡單的更新,它代表了對開發者體驗和應用速度的全新關注。對于使用React的開發者來說,NextJS 14承諾帶來更快速、更愉快的開發體驗。無論是新項目的開始,還是現有項目的升級,NextJS 14都值得一

fAh28資訊網——每日最新資訊28at.com

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

今天,我將向大家介紹一些關于NextJS的概念,這些可能是許多開發者所不知道的。你可以利用這些概念來優化你的應用,并改善開發者體驗。fAh28資訊網——每日最新資訊28at.com

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

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

混亂的文件結構:

在沒有使用路由分組的情況下,你可能會在pages文件夾中看到許多雜亂無章的路由文件,這使得找到特定路由變得困難。fAh28資訊網——每日最新資訊28at.com

fAh28資訊網——每日最新資訊28at.com

使用路由分組整理:

通過使用路由分組,你可以將相關的路由放在同一個文件夾(即路由組文件夾)下。這樣,你就可以根據不同主題或功能輕松地找到相關路由。fAh28資訊網——每日最新資訊28at.com

例如,你可以創建一個名為auth的路由組文件夾,然后將所有與認證相關的路由(如登錄、注冊)放在這個文件夾下。fAh28資訊網——每日最新資訊28at.com

fAh28資訊網——每日最新資訊28at.com

路由分組的優勢:

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

fAh28資訊網——每日最新資訊28at.com

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

在app目錄的任何子目錄中創建一個以下劃線開頭的文件夾(如_components),這樣的文件夾和其中的文件不會被Next.js當作頁面來處理。fAh28資訊網——每日最新資訊28at.com

例如,在app目錄下的favourite目錄中創建一個_components文件夾:fAh28資訊網——每日最新資訊28at.com

fAh28資訊網——每日最新資訊28at.com

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

在特定目錄中創建文件,這些文件不會直接作為頁面提供給客戶端,除非它們被顯式地添加到page.tsx文件中。fAh28資訊網——每日最新資訊28at.com

fAh28資訊網——每日最新資訊28at.com

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

在Next.js中,動態路由可以通過在括號內添加省略號[...segmentName]來擴展為捕獲所有后續的段。fAh28資訊網——每日最新資訊28at.com

示例說明

例如,路徑/docs/[...slug]/page.tsx不僅會匹配/docs/topic,還會匹配/docs/topic/1等更深層次的路由。但是,如果URL是/docs,它會返回一個404錯誤。fAh28資訊網——每日最新資訊28at.com

fAh28資訊網——每日最新資訊28at.com

代碼片段

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作為參數,并將其轉換為字符串顯示在頁面上。fAh28資訊網——每日最新資訊28at.com

解決404錯誤

你可能想知道是否有辦法解決/docs這個路由的404錯誤。答案是肯定的,你可以通過一些方法來解決這個問題,答案在下面,請繼續往下看fAh28資訊網——每日最新資訊28at.com

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

在Next.js中,通過將參數放在雙方括號中:[[...segmentName]],可以使捕獲所有段成為可選的。fAh28資訊網——每日最新資訊28at.com

例如,路由/docs/[[...slug]]/page.tsx不僅會匹配/docs/topic、/docs/topic/10等路由,還會匹配/docs本身。fAh28資訊網——每日最新資訊28at.com

fAh28資訊網——每日最新資訊28at.com

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

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

7. 活動鏈接(Active Links)

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

創建一個導航欄組件

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

示例代碼

"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”鏈接后,文本顏色變化,從而增強了用戶體驗。fAh28資訊網——每日最新資訊28at.com

fAh28資訊網——每日最新資訊28at.com

fAh28資訊網——每日最新資訊28at.com

注意事項

確保你要使用的路由URL已經存在,否則會出現404錯誤。fAh28資訊網——每日最新資訊28at.com

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

結束

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

本文鏈接:http://m.www897cc.com/showinfo-26-80889-0.html分享七個你可能不知道的 Next.js 14 小技巧

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 利用生成對抗性網絡進行欺詐檢測

下一篇: 提高生產力!這10個Lambda表達式必須掌握,開發效率嘎嘎上升!

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
欧美另类videos死尸| 欧美在线三区| 亚洲精品日韩激情在线电影| 亚洲精品国产精品乱码不99 | 国产一区清纯| 在线观看亚洲a| 99精品国产在热久久| 亚洲欧美国产高清va在线播| 久久精品一级爱片| 欧美精品18+| 国产伦精品一区二区三区照片91| 狠狠狠色丁香婷婷综合激情| 亚洲电影观看| 亚洲午夜久久久久久久久电影院| 久久99伊人| 欧美黄色片免费观看| 国产精品一区二区三区乱码| 亚洲第一福利社区| 亚洲综合色视频| 美女图片一区二区| 国产精品久久久91| 亚洲第一福利社区| 亚洲永久免费| 免费不卡在线观看| 国产精品美女一区二区| 亚洲国产精品久久久久秋霞影院| 亚洲永久在线| 欧美.www| 国产日韩一区二区三区在线播放| 亚洲三级网站| 久久国产精品一区二区三区四区| 欧美大学生性色视频| 国产精品日韩在线播放| 亚洲欧洲视频在线| 欧美亚洲一区二区在线观看| 欧美裸体一区二区三区| 好吊视频一区二区三区四区| 亚洲午夜一区二区| 欧美大色视频| 国产主播精品| 亚洲一区国产视频| 欧美激情综合亚洲一二区 | 亚洲国产精品久久久久久女王| 中文欧美在线视频| 欧美成人精品高清在线播放| 国产精品入口夜色视频大尺度| 亚洲激情电影在线| 久久精品72免费观看| 国产精品电影网站| 亚洲人成啪啪网站| 久久另类ts人妖一区二区| 国产精品激情电影| 亚洲精品视频在线观看免费| 久久久蜜桃一区二区人| 国产美女一区| 亚洲视频一区在线观看| 欧美精品1区| 亚洲电影观看| 久久久精品国产99久久精品芒果| 国产精品久久久久久久久久免费看| 亚洲盗摄视频| 猫咪成人在线观看| 国色天香一区二区| 欧美尤物一区| 国产欧美日本一区二区三区| 亚洲午夜精品久久| 欧美人与禽猛交乱配| 亚洲人www| 麻豆九一精品爱看视频在线观看免费| 国产一区二区三区久久 | 久久天天躁狠狠躁夜夜av| 国产日韩欧美在线播放| 午夜精品久久久99热福利| 国产精品第一页第二页第三页| 一区二区日韩精品| 欧美人成在线视频| a91a精品视频在线观看| 欧美日韩mp4| 日韩午夜电影在线观看| 欧美精品在线视频观看| 亚洲精品一区二区三区99| 欧美激情一区| 亚洲精品乱码久久久久久久久 | 国产乱人伦精品一区二区| 午夜精品一区二区三区四区| 国产精品视频福利| 亚洲欧美一区二区三区在线| 国产精品视频精品视频| 午夜精品久久久久久久久| 国产精品人人爽人人做我的可爱| 亚洲综合社区| 国产一区二区三区在线观看网站| 久久精品99无色码中文字幕| 狠狠色噜噜狠狠色综合久| 久久精彩免费视频| 一色屋精品视频在线看| 免费在线看成人av| 亚洲精选视频免费看| 欧美视频一区二区| 亚洲综合电影一区二区三区| 国产精品一二三四| 久久精品国产一区二区三| 国产最新精品精品你懂的| 老司机67194精品线观看| 亚洲国产成人av好男人在线观看| 欧美电影免费观看高清完整版| 亚洲免费成人av| 欧美午夜精品久久久| 午夜激情久久久| 国内精品伊人久久久久av影院| 久久久久.com| 亚洲全部视频| 国产精品美女久久福利网站| 久久成人av少妇免费| 91久久精品美女高潮| 欧美日韩亚洲一区二区三区在线观看 | 99国内精品| 国产精品视频专区| 久久久久久久网| 日韩视频国产视频| 国产精品免费视频xxxx| 久久男人资源视频| 亚洲毛片在线观看| 国产精品视频999| 久久综合给合| 一区二区三区免费在线观看| 国产视频久久久久久久| 欧美成人高清| 亚洲综合欧美日韩| 亚洲丰满在线| 国产精品久久久| 久久婷婷麻豆| 亚洲午夜久久久久久久久电影院| 韩国女主播一区| 欧美日韩黄视频| 欧美在线在线| 99国内精品久久| 国内激情久久| 欧美三级欧美一级| 久久久国产亚洲精品| 在线一区二区三区四区五区| 激情婷婷亚洲| 欧美午夜精品电影| 久久人人爽人人爽| 亚洲视频一二| 亚洲高清免费在线| 国产精品一区二区三区观看| 欧美成人国产| 久久精品免费看| 在线视频亚洲一区| 在线观看成人av电影| 国产精品久久久亚洲一区| 欧美岛国在线观看| 久久久久国产精品一区二区| 在线视频欧美精品| 91久久精品视频| 国产一区二区精品丝袜| 欧美日韩一区二区三区在线视频| 久久人人看视频| 欧美一级精品大片| 一区二区免费在线视频| 亚洲二区免费| 狠狠色狠狠色综合日日tαg| 国产精品伦一区| 欧美精品久久久久久| 久久久综合网站| 欧美一区二区视频网站| 中文av一区特黄| 亚洲欧洲一区二区天堂久久| 国产综合视频| 国产精品一级在线| 亚洲精品乱码久久久久久蜜桃91| 国产一区二区精品久久| 国产精品成人一区二区三区夜夜夜 | 欧美日韩国产色视频| 噜噜噜噜噜久久久久久91| 久久av老司机精品网站导航| 亚洲视频一起| 99re66热这里只有精品3直播 | 国产一区二区日韩精品| 国产精品激情电影| 欧美日韩精品免费观看| 欧美激情影院| 免费不卡在线观看| 久久青草久久| 久久免费高清| 久久久久久网| 欧美一区二区在线免费观看| 亚洲综合三区| 亚洲伊人观看| 亚洲视频香蕉人妖| 亚洲视频综合| 亚洲婷婷在线| 亚洲午夜电影| 亚洲午夜激情网页| 亚洲在线观看| 亚洲欧美网站| 欧美亚洲一区二区在线观看| 亚洲欧美日韩系列| 午夜视黄欧洲亚洲| 欧美一区二区三区免费大片| 欧美主播一区二区三区| 久久成年人视频| 久久久久一区|