国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

關于 Next.js ,你不知道的事情

開發 前端
今天我將向您介紹一些大多數開發人員不知道的 NextJS 概念,您可以使用它們來優化您的應用程序并改善開發人員體驗。

NextJS 14 不僅僅是一次更新,它是對開發人員體驗和速度的重新關注。總體而言,NextJS 14 承諾為 React 開發人員帶來更快、更愉快的開發之旅。無論您是重新開始還是升級現有項目,它都絕對值得一試。

今天,我將向您介紹一些大多數開發人員不知道的 NextJS 概念,您可以使用它們來優化您的應用程序并改善開發人員體驗。

1. Route Groups 路由組

圖片圖片

您的文件夾結構是否混亂?很難找到具體路由?因此,可以使用 Next JS 提供的 Route Group 功能來組織它們。

讓我們使用 Route Group 來組織此文件夾結構。

圖片圖片

現在,您可以通過將不同主題的路由保存在 Route Group 文件夾下來輕松查找它們。

Route Group 不會在 URL 中添加其文件夾名稱

URL 中沒有 (auth)。URL 中沒有 (auth)。

URL 中沒有 (auth)。

2. Static Metadata 靜態元數據

Next.js 有一個元數據 API,可用于定義應用程序元數據(例如 HTML head 元素內的 meta 和 link 標簽),以改進 SEO 和網絡共享性。

您可以在 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 動態元數據

您可以使用 generateMetadata 函數來處理需要動態值的 fetch 元數據。

它用于增加和增強您網站的 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>Favouraite Product Details {params.id}</h1>
}

圖片圖片

圖片圖片

正如您在上面看到的,網站的標題正在動態更改。

元數據的排序

元數據按順序評估,從根數據段開始,直到最接近最終 page.tsx 數據段的數據段。例如

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

4. Private Routes 私有路由

您可能會想什么是私有路由?它們是只有管理員才能訪問的東西嗎?不,私有路由是指任何用戶都無法直接通過網站訪問的文件夾。只是不直接向客戶端提供的網頁。

這可以通過以下方法來實現:

  • 在 app 目錄之外創建一個單獨的 components 目錄。

圖片圖片

  • 在 app 目錄下的任意目錄中,創建 _components 文件夾。(可以給出任何名稱,是的,這是一個下劃線,你沒看錯)

圖片圖片

  • 在目錄中創建不同的文件,除非添加到 page.tsx 文件,否則這些文件不會直接提供給客戶端。

圖片圖片

5. Catch-all Segments

通過在括號 [...segmentName] 內添加省略號,可以擴展動態分段以捕獲所有后續分段

例如, /docs/[...slug]/page.tsx 將匹配 /docs/topic ,但也匹配 /docs/topic/1 等等。但如果 URL 為 /docs ,則會出現頁面未找到錯誤。

圖片圖片

404 error 404錯誤404 error 404錯誤

404 error 404錯誤

圖片圖片

圖片圖片

這是代碼片段:app/docs/[...slug]/page.tsx

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>
    )
}

你們可能想知道我們可以修復 404 錯誤嗎???

如果我說是的話怎么辦!!是的,您可以修復該錯誤。

向下滾動查看解決方案!

6. 可選的 Catch-All Segments

通過將參數置于雙方括號中,可將全局段作為可選參數:[[...segmentName]]。

例如,除了 /docs/topic 、 /docs/topic/10 之外, /docs/[[...slug]]/page.tsx 還將匹配 /docs 。

不再有錯誤!不再有錯誤!

不再有錯誤!

catch-all 和可選的 catch-all 段之間的區別在于,如果是可選的,則不帶參數的路由也會匹配(上例中的 /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>
    )
}

首先,通過創建鏈接常量,我們定義了導航欄中需要的鏈接。將它們映射到您的頁面上,您的頁面就會看起來像這樣:

圖片圖片

單擊任意一個鏈接即可看到魔法!

圖片圖片

正如您所看到的,當我單擊“登錄”鏈接時,文本的顏色發生了變化!太簡單了:)

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

https://javascript.plainenglish.io/things-you-dont-know-about-next-js-02ee54cb5b7f

責任編輯:武曉燕 來源: 獨立開發者張張
相關推薦

2024-04-01 07:58:49

Next.js 14ReactWeb應用

2022-02-23 14:18:02

macOSMac時間機器

2021-12-29 11:38:59

JS前端沙箱

2019-11-20 10:25:06

sudoLinux

2014-03-12 09:23:06

DevOps團隊合作

2021-11-16 08:51:29

Node JavaScript變量類型

2020-06-12 09:20:33

前端Blob字符串

2020-07-28 08:26:34

WebSocket瀏覽器

2014-10-21 11:17:41

蘋果設計

2014-03-21 10:23:32

2010-08-23 09:56:09

Java性能監控

2021-10-09 16:13:40

5G4G手機

2020-06-12 07:36:33

Redis

2015-04-16 11:35:07

大數據大數據迷思

2020-03-05 11:10:18

Left join數據庫MySQL

2009-12-10 09:37:43

2022-10-13 11:48:37

Web共享機制操作系統

2011-09-15 17:10:41

2021-02-01 23:23:39

FiddlerCharlesWeb

2018-05-10 11:50:13

Docker容器冷知識
點贊
收藏

51CTO技術棧公眾號

国产精品1luya在线播放| 黄动漫在线看| 久久电影中文字幕| 红桃视频成人在线观看| 色婷婷综合久久久久中文字幕1| 日韩在线资源| 亚洲精品av在线| 午夜影院免费在线| 国产91精品久久久久久久| 成人在线观看免费播放| 中文字幕亚洲一区| 另类图片激情| 日韩高清av在线| 天堂成人av| 久久视频精品| 一区二区av在线| 国产原厂视频在线观看| 亚洲自拍欧美精品| 亚欧无线一线二线三线区别| 丝袜美腿高跟呻吟高潮一区| 成人自拍性视频| 成人av影音| 欧美成人网在线| 国产精品草莓在线免费观看| 成人一区二区视频| 成人在线看视频| 亚洲福利视频一区| 91天天综合| 91久久久久久久久久久| 亚洲二区精品| 国产九九精品视频| 都市激情亚洲欧美| 欧美色图片你懂的| 同心难改在线观看| 国产精品毛片a∨一区二区三区|国| 波多野结衣视频一区二区| 竹菊久久久久久久| 欧美女优在线观看| 蜜臀99久久精品久久久久久软件| 国产一区二区无遮挡| 这里只有精品在线| 7777奇米亚洲综合久久 | 亚洲精品国产精品久久清纯直播| 免费大片黄在线| 欧美日韩日本视频| 麻豆tv在线| 日韩欧美123| 日本大片在线播放| 精品国产乱码久久久久久久久| 成人av影院在线观看| 日韩黄色在线免费观看| 日韩欧美精品一区二区三区| 亚洲欧美国产va在线影院| 怡红院成人在线| 久久久久999| 高潮久久久久久久久久久久久久| 亲子乱一区二区三区电影 | 亚洲第一综合网站| 成人app下载| 自拍日韩亚洲一区在线| 国产欧美精品一区二区三区四区 | 国产午夜亚洲精品不卡| 99热最新网址| 懂色av一区二区三区| 欧美天天影院| 精品网站999www| 国产精品一级在线观看| 国产精品1234| 在线看片一区| 2021狠狠干| 国产精品欧美精品| 视频二区在线| 精品国产污网站| 国产视频一区二区在线播放| 国产成人啪精品视频免费网| 亚洲毛片播放| 人妻少妇精品久久| 亚洲一区在线电影| 日韩另类在线| 欧美大片第1页| 欧美日韩亚洲一区三区 | 97国产精品| 黄色99视频| 久久综合九色综合欧美就去吻| 导航福利在线| 亚洲成人网在线| 综合综合综合综合综合网| 欧洲久久久久久| 国产精品少妇自拍| 国产激情小视频在线| 欧美成人久久久| 99国产精品久久久久久久| 青青艹视频在线| 欧美在线视频不卡| 精品久久国产一区| 久久久综合亚洲91久久98| 国产女人水真多18毛片18精品视频| a天堂中文在线88| 国a精品视频大全| 蜜桃视频一区二区三区在线观看| 992kp快乐看片永久免费网址| 在线不卡免费av| 日本欧美三级| 一本色道久久88亚洲精品综合| 欧美日韩国产在线看| 香蕉成人在线| 欧美男人的天堂| 一区二区三区国产| 日日av拍夜夜添久久免费| 国产精品一二三在线| 狠狠色丁香久久婷婷综合_中| 国产又大又黄又猛| 国产97在线|日韩| 亚洲精品视频在线观看网站| 亚洲一级大片| 免费在线观看视频| 欧美精品在线极品| 欧美午夜影院一区| 久久精品av麻豆的观看方式| 国产精品豆花视频| 亚洲国产二区| 日韩电影免费在线看| 日本不卡视频一区二区| 在线电影中文日韩| 欧美高清性hdvideosex| 午夜日韩在线观看| 欧美日韩在线影院| 欧美午夜宅男影院在线观看| 午夜视频久久久久久| 懂色av影视一区二区三区| 亚洲一区自拍偷拍| 亚洲成人av一区二区三区| 亚洲第一狼人社区| 欧美系列日韩一区| 亚洲福利视频网站| 日韩性生活视频| 2019国产精品自在线拍国产不卡| 97视频在线观看免费高清完整版在线观看 | chinese少妇国语对白| 147欧美人体大胆444| 亚洲二区在线观看| 99在线免费视频观看| 日本片在线观看| 亚洲国产一区二区三区在线观看| 天天影视天天精品| 色琪琪丁香婷婷综合久久| 久久久久久久久久久免费精品| 成人午夜视频免费看| 成人福利影视| 三区精品视频观看| 欧美大胆人体bbbb| 性欧美精品高清| 天天色天天射天天综合网| 精品日本一区二区三区| 在线视频一区二区免费| 午夜视频精品| 男女污污视频在线观看| 国产精品热视频| 精品久久久国产| 一区二区日韩欧美| 第一福利在线| 国产精品香蕉视屏| 制服丝袜亚洲精品中文字幕| 久久精品国产清高在天天线| 黄网站免费在线播放| 亚洲啪啪av| 中文字幕日韩电影| 久久亚洲综合色一区二区三区| 日韩精品视频中文字幕| 国产自偷自偷免费一区| 97精品在线视频| 午夜视频在线观看一区| 中文字幕av亚洲精品一部二部| 一区二区成人| 九色视频成人porny| 精品国产乱码久久| 大尺度一区二区| 另类在线视频| 男女污污视频在线观看| 日韩久久久久久久| 亚洲日本aⅴ片在线观看香蕉| 99免费精品视频| 蜜臀久久99精品久久一区二区| 伪装者在线观看完整版免费| 欧美日韩亚洲免费| 日韩在线观看免费全集电视剧网站| 日本一区二区高清| 欧美mv日韩| 欧美性猛片xxxxx免费中国 | 国产精品久久久久久福利一牛影视| 亚洲a级精品| 东热在线免费视频| 亚洲欧美日韩不卡| 欧美激情久久久| 黑人巨大精品欧美一区二区| 老司机免费视频久久| 国产精品一级在线观看| 你懂的在线网址| www精品久久| 91在线免费观看网站|