nextjs使用02

并行路由

同一個頁面,放多個路由,,
在這里插入圖片描述
目錄前面加@,layout中可以當作插槽引入

import React from "react";function layout({children,notifications,user}:{children:React.ReactNode,notifications:React.ReactNode,user:React.ReactNode
}){return (<div>layout{notifications}<div>{user}</div></div>)
}export default layout
nextjs攔截跳轉頁面

在這里插入圖片描述

next寫接口

創建route.ts,

export async function POST(request:Request){var comment = await request.json();const newComment = {id:comments.length+1,text:comment.text}comments.push(newComment)return new Response(JSON.stringify(newComment),{headers:{"Content-Type":"application/json"},status:201})
}
next接收queryParams
import {type NextRequest} from "next/server"
export async function GET(request:NextRequest,){var searchParams = request.nextUrl.searchParams;var query = searchParams.get("query");var find = query?comments.find(comment=>comment.text.includes(query)):comments;return Response.json(find)
}
獲取請求頭
  • 第一種
import {type NextRequest} from "next/server"
export async function GET(request:NextRequest,){var requestHeaders = new Headers(request.headers);console.log(requestHeaders.get("Authorization"))}
  • 第二種
import {type NextRequest} from "next/server"
import {headers} from "next/headers"
export async function GET(request:NextRequest,){const headersList =  await headers()console.log(headersList.get("Authorization"))return Response.json("xxx")
}
獲取cookie

兩種方式獲取cookie在這里插入圖片描述

在這里插入圖片描述

middleware中間件攔截

middleware.ts跟app一個層級

import  type {NextRequest} from "next/server";
import {NextResponse} from "next/server"export function middleware(request:NextRequest){console.log(request.nextUrl.pathname,"pathname")// 重定向: 地址會變 // return NextResponse.redirect(new URL("/",request.url))//  轉發,, 瀏覽器url不變,內容變化return NextResponse.rewrite(new URL("/",request.url))
}export const config = {// 將 /hello 轉發到  / matcher:"/hello"
}

中間件處理response:===> 設置cookie或者響應頭

import  type {NextRequest} from "next/server";
import {NextResponse} from "next/server"export function middleware(request:NextRequest){console.log(request.nextUrl.pathname,"pathname")var response = NextResponse.next();var themePreference = request.cookies.get("theme");if (!themePreference){response.cookies.set("theme","dark")}return response
}export const config = {// 將 /hello 轉發到  /matcher:"/hello"
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/74182.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/74182.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/74182.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

github 無法在shell里鏈接

當我在shell端git push時&#xff0c;我發現總是22 timeout的問題。 我就進行了以下步驟的嘗試并最終得到了解決。 第一步&#xff0c;我先確定我可以curl github&#xff0c;也就是我網絡沒問題 curl -v https://github.com 如果這個時候不超時和報錯&#xff0c;說明網絡…

當前主流的大模型知識庫軟件對比分析

以下是當前主流的大模型知識庫軟件對比分析&#xff0c;涵蓋功能特性、適用場景及優劣勢&#xff0c;結合最新技術動態和行業實踐提供深度選型參考&#xff1a; 一、企業級智能知識庫平臺 1. 阿里云百煉&#xff08;Model Studio&#xff09; 核心能力&#xff1a;基于RAG技…

Java的比較器 Comparable 和 Comparator

在 Java 中&#xff0c;Comparable 和 Comparator 是用于對象排序的重要接口。它們提供了不同的排序方式&#xff0c;適用于不同的需求&#xff0c;同時在 Java 底層排序算法中發揮著關鍵作用。本文將從基礎概念、使用方法、排序實現&#xff08;包括升序、降序&#xff09;、底…

基于Qlearning強化學習的太赫茲信道信號檢測與識別matlab仿真

目錄 1.算法仿真效果 2.算法涉及理論知識概要 2.1 太赫茲信道特性 2.2 Q-learning強化學習基礎 2.3 基于Q-learning 的太赫茲信道信號檢測與識別系統 3.MATLAB核心程序 4.完整算法代碼文件獲得 1.算法仿真效果 matlab2024b仿真結果如下&#xff08;完整代碼運行后無水印…

力扣刷題————199.二叉樹的右視圖

給定一個二叉樹的 根節點 root&#xff0c;想象自己站在它的右側&#xff0c;按照從頂部到底部的順序&#xff0c;返回從右側所能看到的節點值。 示例 1&#xff1a; 輸入&#xff1a;root [1,2,3,null,5,null,4] 輸出&#xff1a;[1,3,4] 解題思路&#xff1a;我們可以想到這…

文件包含漏洞的小點總結

文件本地與遠程包含&#xff1a; 文件包含有本地包含與遠程包含的區別&#xff1a;本地包含只能包含服務器已經有的問題&#xff1b; 遠程包含可以包含一切網絡上的文件。 本地包含&#xff1a; ①無限制 感受一下使用phpstudy的文件上傳&#xff0c;開啟phpstudy的apache…

深度學習處理時間序列(5)

Keras中的循環層 上面的NumPy簡單實現對應一個實際的Keras層—SimpleRNN層。不過&#xff0c;二者有一點小區別&#xff1a;SimpleRNN層能夠像其他Keras層一樣處理序列批量&#xff0c;而不是像NumPy示例中的那樣只能處理單個序列。也就是說&#xff0c;它接收形狀為(batch_si…

操作系統相關知識點

操作系統在進行線程切換時需要進行哪些動作&#xff1f; 保存當前線程的上下文 保存寄存器狀態、保存棧信息。 調度器選擇下一個線程 調度算法決策&#xff1a;根據策略&#xff08;如輪轉、優先級、公平共享&#xff09;從就緒隊列選擇目標線程。 處理優先級&#xff1a;實時…

從0到1:Rust 如何用 FFmpeg 和 OpenGL 打造硬核視頻特效

引言&#xff1a;視頻特效開發的痛點&#xff0c;你中了幾個&#xff1f; 視頻特效如今無處不在&#xff1a;短視頻平臺的濾鏡美化、直播間的實時美顏、影視后期的電影級調色&#xff0c;甚至 AI 生成內容的動態效果。無論是個人開發者還是團隊&#xff0c;視頻特效都成了吸引…

【并發編程 | 第一篇】線程相關基礎知識

1.并發和并行有什么區別 并發是指多核CPU上的多任務處理&#xff0c;多個任務在同一時刻真正同時執行。 并行是指單核CPU上的多任務處理&#xff0c;多個任務在同一時間段內交替執行&#xff0c;通過時間片輪轉實現交替執行&#xff0c;用于解決IO密集型瓶頸。 如何理解線程安…

Kafka 偏移量

在 Apache Kafka 中&#xff0c;偏移量&#xff08;Offset&#xff09;是一個非常重要的概念。它不僅用于標識消息的位置&#xff0c;還在多種場景中發揮關鍵作用。本文將詳細介紹 Kafka 偏移量的核心概念及其使用場景。 一、偏移量的核心概念 1. 定義 偏移量是一個非負整數…

18.redis基本操作

Redis(Remote Dictionary Server)是一個開源的、高性能的鍵值對(Key-Value)存儲數據庫,廣泛應用于緩存、消息隊列、實時分析等場景。它以其極高的讀寫速度、豐富的數據結構和靈活的應用方式而受到開發者的青睞。 Redis 的主要特點 ?高性能: ?內存存儲:Redis 將所有數…

歷年跨鏈合約惡意交易詳解(一)——THORChain退款邏輯漏洞

漏洞合約函數 function returnVaultAssets(address router, address payable asgard, Coin[] memory coins, string memory memo) public payable {if (router address(this)){for(uint i 0; i < coins.length; i){_adjustAllowances(asgard, coins[i].asset, coins[i].a…

通俗易懂的講解SpringBean生命周期

&#x1f4d5;我是廖志偉&#xff0c;一名Java開發工程師、《Java項目實戰——深入理解大型互聯網企業通用技術》&#xff08;基礎篇&#xff09;、&#xff08;進階篇&#xff09;、&#xff08;架構篇&#xff09;清華大學出版社簽約作家、Java領域優質創作者、CSDN博客專家、…

深入理解 `git pull --rebase` 與 `--allow-unrelated-histories`:區別、原理與實戰指南

&#x1f680; git pull --rebase vs --allow-unrelated-histories 全面解析 在日常使用 Git 時&#xff0c;我們經常遇到兩種拉取遠程代碼的方式&#xff1a;git pull --rebase 和 git pull --allow-unrelated-histories。它們的區別是什么&#xff1f;各自適用哪些場景&…

Matlab_Simulink中導入CSV數據與仿真實現方法

前言 在Simulink仿真中&#xff0c;常需將外部數據&#xff08;如CSV文件或MATLAB工作空間變量&#xff09;作為輸入信號驅動模型。本文介紹如何高效導入CSV數據至MATLAB工作空間&#xff0c;并通過From Workspace模塊實現數據到Simulink的精確傳輸&#xff0c;適用于運動控制…

Spring Boot 中 JdbcTemplate 處理枚舉類型轉換 和 減少數據庫連接的方法 的詳細說明,包含代碼示例和關鍵要點

以下是 Spring Boot 中 JdbcTemplate 處理枚舉類型轉換 和 減少數據庫連接的方法 的詳細說明&#xff0c;包含代碼示例和關鍵要點&#xff1a; 一、JdbcTemplate 處理枚舉類型轉換 1. 場景說明 假設數據庫存儲的是枚舉的 String 或 int 值&#xff0c;但 Java 實體類使用 enu…

API 安全之認證鑒權

作者&#xff1a;半天 前言 API 作為企業的重要數字資源&#xff0c;在給企業帶來巨大便利的同時也帶來了新的安全問題&#xff0c;一旦被攻擊可能導致數據泄漏重大安全問題&#xff0c;從而給企業的業務發展帶來極大的安全風險。正是在這樣的背景下&#xff0c;OpenAPI 規范…

MATLAB繪圖配色包說明

本欄目將分享MATLAB數據分析圖表&#xff0c;該貼講述配色包的使用 將配色包colormap_nclCM文件夾添加到路徑close all&#xff08;盡量不要刪&#xff09;&#xff0c;使用map colormap(nclCM(309))時會多出來一張空白圖片。配色資源來自slandarer&#xff1b;找不到合適顏色…

Oracle 數據庫系統全面詳解

Oracle 數據庫是全球領先的關系型數據庫管理系統(RDBMS)&#xff0c;由 Oracle 公司開發。它為企業級應用提供了高性能、高可用性、安全性和可擴展性的數據管理解決方案。 目錄 一、Oracle 數據庫體系結構 1. 物理存儲結構 主要組件&#xff1a; 存儲層次&#xff1a; 2. …