1. JSX

JSX λ₯Ό μ„€λͺ…ν•΄λ³΄μž

JSXλŠ” XML처럼 μž‘μ„±λœ λ§ˆν¬μ—…μ„ React.createElementλ₯Ό μ“°λŠ” μ½”λ“œλ‘œ λ³€ν™˜ν•œλ‹€. μ€‘κ΄„ν˜Έλ₯Ό μ¨μ„œ JavaScript μ½”λ“œλ₯Ό κ·ΈλŒ€λ‘œ μ“Έ 수 있고, JavaScript μ½”λ“œμ™€ 1:1둜 λ§€μΉ­λœλ‹€. 즉, JavaScript 파일 μ•ˆμ— HTMLκ³Ό μœ μ‚¬ν•œ λ§ˆν¬μ—…μ„ μž‘μ„±ν•  수 μžˆλŠ”JavaScript의 ꡬ문확μž₯μžμ΄λ‹€.

JSX λ₯Ό ν™œμš©ν•˜λ©΄ μ•„λž˜μ™€ 같은 μž‘μ—…μ΄ κ°€λŠ₯ν•˜λ‹€.

  • HTMLκ³Ό 같은 μœ μ‚¬ν•œ λ§ˆν¬μ—… μ½”λ“œ μž‘μ„± κ°€λŠ₯

  • JavaScript ν‘œν˜„μ‹ μ‚½μž… κ°€λŠ₯ν•˜μ—¬, λ§ˆν¬μ—… λ‚΄μ—μ„œ 동적 μ½˜ν…μΈ μ™€ JavaScript μ½”λ“œ μ‹€ν–‰ κ°€λŠ₯

  • μž¬μ‚¬μš©μ΄ κ°€λŠ₯ν•˜κ³  독립적인 UI 쑰각

μš”μ•½ν•˜μžλ©΄, μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ •μ˜ν•˜κ³  κ΅¬μΆ•ν•˜λŠ” ν”„λ‘œμ„ΈμŠ€λ₯Ό λ‹¨μˆœν™” ν•˜λŠ” ꡬ문 ν™•μž₯이며, 동적 μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ κ°œλ°œμ„ 보닀 κ°„λ‹¨ν•˜κ³  효율적으둜 λ§Œλ“€μ–΄ μœ μ§€λ³΄μˆ˜μ„±μ΄ λ†’λ‹€.

μ•„λž˜μ˜ μ½”λ“œλŠ” HTML도 μ•„λ‹ˆκ³  JavaScript도 μ•„λ‹Œ JSX 이닀.

const element = <h1>Hello, world!</h1>;

'.jsx' ν™•μž₯자의 파일 μ•ˆμ— μ •μ˜λœ μ½”λ“œμ΄κ³  JavaScript 의 ꡬ문확μž₯이닀. JSXλŠ” Reactμ—μ„œλ§Œ μ‚¬μš©λ˜λŠ” 것은 μ•„λ‹ˆκ³  λ…λ¦½μ μœΌλ‘œ μ‚¬μš©ν•  수 μžˆλ‹€. Reactμ—μ„œλŠ” HTML λ§ˆν¬μ—…κ³Ό λ‘œμ§μ„ μΈμœ„μ μœΌλ‘œ λΆ„λ¦¬ν•˜λŠ” λŒ€μ‹ μ— 이 λ‘˜μ„ ν¬ν•¨ν•˜λŠ”, μ»΄ν¬λ„ŒνŠΈ(Component) 라고 λΆ€λ₯΄λŠ” λŠμŠ¨ν•˜κ²Œ μ—°κ²°λœ μœ λ‹›μœΌλ‘œ 관심사λ₯Ό λΆ„λ¦¬ν•˜μ—¬ μœ μ§€λ³΄μˆ˜μ„±μ„ 높인닀.

JSX 의 νŠΉμ§•

HTML μœ μ‚¬ ꡬ문

JSXλŠ” HTMLκ³Ό μœ μ‚¬ν•΄ UI ꡬ쑰와 μœ μ‚¬ν•œ λ°©μ‹μœΌλ‘œ νƒœκ·Έμ™€ 속성을 μž‘μ„±ν•  수 μžˆλ‹€.

JavaScript ν‘œν˜„μ‹

JSXλ₯Ό μ‚¬μš©ν•˜λ©΄ μ€‘κ΄„ν˜Έ {} μ•ˆμ— JavaScript ν‘œν˜„μ‹μ„ μ‚½μž…ν•  수 μžˆλ‹€. 이λ₯Ό 톡해 동적 μ½˜ν…μΈ λ₯Ό λ§ˆν¬μ—…μ— 포함할 수 μžˆλ‹€.

보톡 React κ΅¬μ„±μš”μ†Œμ™€ ν•¨κ»˜ μ‚¬μš©

React μ—μ„œλ§Œ JSX κ°€ μ‚¬μš©λ˜λŠ” 것은 μ•„λ‹ˆλ©°, λ…λ¦½μ μœΌλ‘œλ„ μ‚¬μš©ν•  수 μžˆλ‹€. JSX 없이도 React μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μž‘μ„±ν•  수 μžˆμ§€λ§Œ, JSXλ₯Ό μ‚¬μš©ν•˜λ©΄ μ½”λ“œ μœ μ§€λ³΄μˆ˜μ„±μ΄ μ˜¬λΌκ°„λ‹€.

λ³€ν™˜ ν•„μš”

JSX μ½”λ“œλŠ” λΈŒλΌμš°μ €μ—μ„œ 직접 μΈμ‹λ˜μ§€ μ•ŠμœΌλ―€λ‘œ ν‘œμ€€ JavaScript둜 λ³€ν™˜ν•΄μ•Ό ν•œλ‹€. 이 λ³€ν™˜μ— μ‚¬μš©λ˜λŠ” 도ꡬ μ€‘μ˜ ν•˜λ‚˜κ°€ Babel 이며, JSXλ₯Ό λΈŒλΌμš°μ €κ°€ μ‹€ν–‰ν•  수 μžˆλŠ” JavaScript μ½”λ“œλ‘œ μ»΄νŒŒμΌν•˜λŠ” 데 μ‚¬μš©λœλ‹€. 컴파일이 λλ‚˜λ©΄ JSX ν‘œν˜„μ‹μ΄ μ •κ·œ JavaScript ν•¨μˆ˜ 호좜이 되고, JavaScript의 객체둜 μΈμ‹λœλ‹€.

React μ—μ„œ JSX μ‚¬μš©μ˜ μƒ˜ν”Œ μ½”λ“œ

Last updated