Marais.lee
Welcome to Marais's IT Home
Marais.lee
전체 방문자
오늘
어제
  • 분류 전체보기 (87)
    • co-task 프로젝트 (7)
    • Study (28)
      • 자바스크립트 (5)
      • 모던 리액트 Deep Dive (7)
      • 용어 (1)
      • 컴퓨터과학 (2)
      • 코테 (12)
      • 네트워크 (0)
    • 개발 환경 (3)
    • Next.js (pages router) (9)
    • Next.js (app router + 14v) (4)
    • TypeScript (11)
    • 라이브러리 (8)
    • 후기 및 고민 (10)
    • 맥북관련 셋팅 및 오류 (4)
    • Obsidian | 옵시디언 (1)
반응형

인기 글

최근 글

블로그 메뉴

  • 홈
  • 태그
  • 방명록
250x250
hELLO · Designed By 정상우.
Marais.lee

Welcome to Marais's IT Home

Next.js (app router + 14v)

Next.js useSelectedLayoutSegment | 현재 있는 페이지의 주소를 알고 싶은 경우

2024. 2. 1. 18:40
728x90

next의 공식문서에 따르면,

 

" useSelectedLayoutSegment 는 클라이언트 컴포넌트 훅으로 이 것이 불러와진 레이아웃의 한 단계 아래의 경로 segment를 알 수 있다. 

 

이 훅은 nav UI (특히, tab과 같이 그 주소 segment에 따라서 스타일이 바뀌는경우) 에 유용하다."

 


만일 내가 '/home' 에 있다면, 아래 코드를 작성했을 때 home이 불러와진다. 

import { useSelectedLayoutSegment } from "next/navigation";
-------------
const segment = useSelectedLayoutSegment();
console.log(segment); //home

 

한단계 더 밑의 경로까지 알고 싶다면, 

 

ex) /home/a

`useSelectedLayoutSegments()` 를 사용하면 된다. 

 

 


아래처럼 삼항연산자의 조건으로 사용하면 tab등 nav 메뉴 클릭시 css 효과를 줄 때 유용하다!!

"use client";

import { useSelectedLayoutSegment } from "next/navigation";
import Link from "next/link";

export default function NavMenu() {
	const segment = useSelectedLayoutSegment();
	console.log(segment);

	return (
		<>
			<li>
				<Link href="/home">
					<div>
						{segment === "home" ? (
							<>
								<div style={{ fontWeight: "bold" }}>홈이당</div>
							</>
						) : (
							<>
								<div>홈아니당</div>
							</>
						)}
					</div>
				</Link>
			</li>


 

 

더 고급진? 예시는 아래 공식문서 참고하자.

 

Functions: useSelectedLayoutSegment | Next.js

API Reference for the useSelectedLayoutSegment hook.

nextjs.org

 

 

 

728x90
반응형
저작자표시 비영리 변경금지 (새창열림)

'Next.js (app router + 14v)' 카테고리의 다른 글

JWT 다루기 with Next.js app router + auth.js  (0) 2024.06.18
useSearchParams | Next.js 13 app router (간단함)  (1) 2024.01.28
Next 14 | 주소창에 뜨지 않는 폴더구조 3가지  (0) 2023.12.30
    'Next.js (app router + 14v)' 카테고리의 다른 글
    • JWT 다루기 with Next.js app router + auth.js
    • useSearchParams | Next.js 13 app router (간단함)
    • Next 14 | 주소창에 뜨지 않는 폴더구조 3가지
    Marais.lee
    Marais.lee
    구글링으로 한국어로 된 글을 찾지 못했거나 이해하는데 어려움이 있었던 이슈를 공유합니다.

    티스토리툴바