๋‚ด์žฅ ๋ธŒ๋ผ์šฐ์ € <title> ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฌธ์„œ์˜ ์ œ๋ชฉ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

<title>My Blog</title>

๋ ˆํผ๋Ÿฐ์Šค

<title>

๋ฌธ์„œ์˜ ์ œ๋ชฉ์„ ์ง€์ •ํ•˜๋ ค๋ฉด ๋‚ด์žฅ ๋ธŒ๋ผ์šฐ์ € <title> ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ Œ๋”๋งํ•˜์„ธ์š”. <title>์€ ์–ด๋–ค ์ปดํฌ๋„ŒํŠธ์—์„œ๋“  ๋ Œ๋”๋งํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, React๋Š” ํ•ญ์ƒ ํ•ด๋‹นํ•˜๋Š” DOM ์š”์†Œ๋ฅผ ๋ฌธ์„œ์˜ <head>์— ๋ฐฐ์น˜ํ•ฉ๋‹ˆ๋‹ค.

<title>My Blog</title>

์•„๋ž˜ ์˜ˆ์‹œ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

Props

<title>์€ ๋ชจ๋“  ๊ณตํ†ต ์—˜๋ฆฌ๋จผํŠธ Props๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

  • children: <title>์€ ์ž์‹์œผ๋กœ ํ…์ŠคํŠธ๋งŒ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ํ…์ŠคํŠธ๋Š” ๋ฌธ์„œ์˜ ์ œ๋ชฉ์ด ๋ฉ๋‹ˆ๋‹ค. ํ…์ŠคํŠธ๋งŒ ๋ Œ๋”๋งํ•˜๋Š” ํ•œ, ์‚ฌ์šฉ์ž ์ •์˜ ์ปดํฌ๋„ŒํŠธ๋„ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํŠน๋ณ„ํ•œ ๋ Œ๋”๋ง ๋™์ž‘

React๋Š” <title> ์ปดํฌ๋„ŒํŠธ์— ํ•ด๋‹นํ•˜๋Š” DOM ์š”์†Œ๋ฅผ React ํŠธ๋ฆฌ ๋‚ด ์–ด๋””์—์„œ ๋ Œ๋”๋งํ•˜๋“  ํ•ญ์ƒ ๋ฌธ์„œ์˜ <head> ๋‚ด์— ๋ฐฐ์น˜ํ•ฉ๋‹ˆ๋‹ค. <head>๋Š” DOM ๋‚ด์—์„œ <title>์ด ์กด์žฌํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ ์œ„์น˜์ด์ง€๋งŒ, ํŠน์ • ํŽ˜์ด์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ž์ฒด์ ์œผ๋กœ <title>์„ ๋ Œ๋”๋งํ•  ์ˆ˜ ์žˆ์œผ๋ฉด ํŽธ๋ฆฌํ•˜๊ณ  ๊ตฌ์„ฑ ๊ฐ€๋Šฅํ•˜๊ฒŒ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์—๋Š” ๋‘ ๊ฐ€์ง€ ์˜ˆ์™ธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  • <title>์ด <svg> ์ปดํฌ๋„ŒํŠธ ๋‚ด์— ์žˆ๋Š” ๊ฒฝ์šฐ, ํŠน๋ณ„ํ•œ ๋™์ž‘์ด ์—†์Šต๋‹ˆ๋‹ค. ์ด ๋งฅ๋ฝ์—์„œ๋Š” ๋ฌธ์„œ์˜ ์ œ๋ชฉ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ํ•ด๋‹น SVG ๊ทธ๋ž˜ํ”ฝ์— ๋Œ€ํ•œ ์ ‘๊ทผ์„ฑ ์ฃผ์„์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
  • <title>์— itemProp ์†์„ฑ์ด ์žˆ๋Š” ๊ฒฝ์šฐ, ํŠน๋ณ„ํ•œ ๋™์ž‘์ด ์—†์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ๋ฌธ์„œ์˜ ์ œ๋ชฉ์ด ์•„๋‹ˆ๋ผ ํŽ˜์ด์ง€์˜ ํŠน์ • ๋ถ€๋ถ„์— ๋Œ€ํ•œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์ฃผ์˜ํ•˜์„ธ์š”!

ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ <title>๋งŒ ๋ Œ๋”๋งํ•˜์„ธ์š”. ์—ฌ๋Ÿฌ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ๋™์‹œ์— <title> ํƒœ๊ทธ๋ฅผ ๋ Œ๋”๋งํ•˜๋ฉด React๋Š” ๋ชจ๋“  ์ œ๋ชฉ์„ ๋ฌธ์„œ์˜ <head>์— ๋ฐฐ์น˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋˜๋ฉด ๋ธŒ๋ผ์šฐ์ €์™€ ๊ฒ€์ƒ‰ ์—”์ง„์˜ ๋™์ž‘์ด ์ •์˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.


์‚ฌ์šฉ๋ฒ•

๋ฌธ์„œ ์ œ๋ชฉ ์„ค์ •ํ•˜๊ธฐ

ํ…์ŠคํŠธ๋ฅผ ์ž์‹์œผ๋กœ ๊ฐ–๋Š” <title> ์ปดํฌ๋„ŒํŠธ๋ฅผ ์–ด๋–ค ์ปดํฌ๋„ŒํŠธ์—์„œ๋„ ๋ Œ๋”๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. React๋Š” ๋ฌธ์„œ์˜ <head>์— <title> DOM ๋…ธ๋“œ๋ฅผ ๋ฐฐ์น˜ํ•ฉ๋‹ˆ๋‹ค.

import ShowRenderedHTML from './ShowRenderedHTML.js';

export default function ContactUsPage() {
  return (
    <ShowRenderedHTML>
      <title>My Site: Contact Us</title>
      <h1>Contact Us</h1>
      <p>Email us at support@example.com</p>
    </ShowRenderedHTML>
  );
}

์ œ๋ชฉ์— ๋ณ€์ˆ˜ ์‚ฌ์šฉํ•˜๊ธฐ

<title> ์ปดํฌ๋„ŒํŠธ์˜ ์ž์‹์€ ๋‹จ์ผ ํ…์ŠคํŠธ ๋ฌธ์ž์—ด์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. (๋˜๋Š” ๋‹จ์ผ ์ˆซ์ž๋‚˜ toString ๋ฉ”์„œ๋“œ๋ฅผ ๊ฐ€์ง„ ๋‹จ์ผ ๊ฐ์ฒด). JSX ์ค‘๊ด„ํ˜ธ๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉํ•˜๋ฉด ๋ช…ํ™•ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

<title>Results page {pageNumber}</title> // ๐Ÿ”ด Problem: This is not a single string

์‹ค์ œ๋กœ๋Š” <title> ์ปดํฌ๋„ŒํŠธ์— ๋‘ ๊ฐœ์˜ ์š”์†Œ๋กœ ๊ตฌ์„ฑ๋œ ๋ฐฐ์—ด์ด ์ž์‹์œผ๋กœ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค. (๋ฌธ์ž์—ด "Results page"์™€ pageNumber์˜ ๊ฐ’.) ์ด๋Š” ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค. ๋Œ€์‹ ์— ๋ฌธ์ž์—ด ๋ณด๊ฐ„์„ ์‚ฌ์šฉํ•˜์—ฌ <title>์— ๋‹จ์ผ ๋ฌธ์ž์—ด์„ ์ „๋‹ฌํ•˜์„ธ์š”.

<title>{`Results page ${pageNumber}`}</title>