TIL_230508 - TailwindCSS - parent group / Next.js13 - usePathname

์ •์œค์ˆ™ยท2023๋…„ 5์›” 8์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
158/192
post-thumbnail

๐Ÿ“’ ์˜ค๋Š˜์˜ ๊ณต๋ถ€

1. TailwindCSS

๋ถ€๋ชจ ์š”์†Œ์— hover ํ–ˆ์„ ๋•Œ ์ž์‹ ์š”์†Œ ์†์„ฑ ๋ณ€๊ฒฝํ•˜๊ธฐ

  • ๋ถ€๋ชจ ์š”์†Œ์— parent group
  • ์ž์‹ ์š”์†Œ์— child group-์›ํ•˜๋Š” ์Šคํƒ€์ผ ์†์„ฑ
    <div className="parent group">  
    <div className="child group-hover:bg-themePink child group-hover:text-white duration-300"></div>
    </div>

2. Next.js 13

usePathname

  • ํ˜„์žฌ page์— ๋”ฐ๋ผ Header์˜ nav bar text ์ƒ‰์ƒ ๋ณ€๊ฒฝํ•˜๊ธฐ

usePathname

  • page์ปดํฌ๋„ŒํŠธ๊ฐ€ ์•„๋‹Œ ์ปดํฌ๋„ŒํŠธ์—์„œ page์˜ ๊ฒฝ๋กœ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
    • useRouter hook์€ page ์ปดํฌ๋„ŒํŠธ์—์„œ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
    • Header ์ปดํฌ๋„ŒํŠธ์˜ ๊ฒฝ์šฐ app์˜ root layout์˜ ํ•˜์œ„ ์ปดํฌ๋„ŒํŠธ๋ผ์„œ useRouter hook ์‚ฌ์šฉ ๋ถˆ๊ฐ€

  • usePathname์€ client Component์—์„œ๋งŒ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— "use client"๋ฅผ ์ƒ์œ„์— ์ถ”๊ฐ€
  <div className=
    {`${pathname === '/films' ? 'text-red-400' : 'text-gray-400'}`}
  >
  FILMS
  </div>
  • ํ…œํ”Œ๋ฆฟ ๋ฆฌํ„ฐ๋Ÿด(Template Literal)์„ ์‚ฌ์šฉํ•ด ํ•ด๋‹น ํŽ˜์ด์ง€์ผ ๋•Œ nav text ์ƒ‰์ƒ ๋ณ€๊ฒฝ

์ฐธ๊ณ  ์ž๋ฃŒ

Next.js ๊ณต์‹๋ฌธ์„œ

profile
ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž

0๊ฐœ์˜ ๋Œ“๊ธ€