๐Ÿ“˜ [Recat] React์•ฑ ๋””๋ฒ„๊น… ํ•˜๊ธฐ

๐Ÿ“˜ [Recat] React์•ฑ ๋””๋ฒ„๊น… ํ•˜๊ธฐ

[Recat] React์•ฑ ๋””๋ฒ„๊น… ํ•˜๊ธฐ

๋””๋ฒ„๊น… ๋ณด์กฐ ๋„๊ตฌ: React StrictMode

  • ๋ชจ๋“  ์ปดํฌ๋„ŒํŠธ์˜ ํ•จ์ˆ˜๋ฅผ ๋‘ ๋ฒˆ ์‹คํ–‰ (๊ฐœ๋ฐœํ™˜๊ฒฝ ํ•œ์ •)
  • ๋ฌธ์ œ ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ ๋†’์€ ํŒจํ„ด์„ ๋ฏธ๋ฆฌ ๊ฐ์ง€ ๊ฐ€๋Šฅ
// index.jsx
import { StrictMode } from "react";
root.render(
  <StrictMode>
    <App />
  </StrictMode>
);
  • ์ „์ฒด ์•ฑ ๋˜๋Š” ํŠน์ • ์ปดํฌ๋„ŒํŠธ๋งŒ ๊ฐ์Œ€ ์ˆ˜๋„ ์žˆ์Œ

๊ฐ์ง€ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ

  • ๋ฆฌ๋ Œ๋”๋ง ์‹œ ๊ฐ™์€ ๋ฐฐ์—ด์„ ์žฌ์‚ฌ์šฉ โ†’ key ์ค‘๋ณต, ๋ฉ”๋ชจ๋ฆฌ ๊ณต์œ 
  • ์ด์ค‘ ์‹คํ–‰ ์‹œ ์ฆ์‹๋˜๋Š” ํ…Œ์ด๋ธ” โ†’ ๋ฐฐ์—ด์ด ๊ณ„์† ๋ˆ„์ ๋˜๊ณ  ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š์Œ

React Developer Tools

  • ํฌ๋กฌ ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ ์„ค์น˜
  • Components ํƒญ: ์ปดํฌ๋„ŒํŠธ ํŠธ๋ฆฌ, props, state ํ™•์ธ ๊ฐ€๋Šฅ
  • Profiler: ์„ฑ๋Šฅ ์ตœ์ ํ™” ๋ถ„์„ ๊ฐ€๋Šฅ (์ถ”ํ›„ ํ•™์Šต)
  • ์„ค์น˜ ์™„๋ฃŒ ํ›„ ๊ฐœ๋ฐœ์ž ๋„๊ตฌ(F12)์— ์ƒˆ๋กœ์šด ๋‘ ๊ฐœ์˜ ํƒญ ์ƒ์„ฑ
  • โš›๏ธ Components
  • Profiler

Components ํƒญ ์ฃผ์š” ๊ธฐ๋Šฅ

์ปดํฌ๋„ŒํŠธ ํŠธ๋ฆฌ ๊ตฌ์กฐ ์‹œ๊ฐํ™”

  • ๋ฃจํŠธ ์ปดํฌ๋„ŒํŠธ(App)์™€ ๊ทธ ํ•˜์œ„ ์ปดํฌ๋„ŒํŠธ(UserInput, Results ๋“ฑ)๋ฅผ ํŠธ๋ฆฌ ํ˜•ํƒœ๋กœ ํ™•์ธ ๊ฐ€๋Šฅ
  • ๋งˆ์šฐ์Šค๋ฅผ ์˜ฌ๋ฆฌ๋ฉด ํ•ด๋‹น ์ปดํฌ๋„ŒํŠธ๊ฐ€ UI์˜ ์–ด๋–ค ๋ถ€๋ถ„์ธ์ง€ ์‹œ๊ฐ์ ์œผ๋กœ ๊ฐ•์กฐ

์ปดํฌ๋„ŒํŠธ ์ƒํƒœ ๋ฐ props ํ™•์ธ

  • ์„ ํƒํ•œ ์ปดํฌ๋„ŒํŠธ์˜ props(์†์„ฑ) ์™€ state(์ƒํƒœ) ๊ฐ’์„ ํ™•์ธ ๊ฐ€๋Šฅ
  • ์˜ˆ์‹œ:
    • UserInput ์ปดํฌ๋„ŒํŠธ:
      • onChange: handleChange ํ•จ์ˆ˜ ์ „๋‹ฌ๋จ
      • userInput: ์—ฌ๋Ÿฌ ์ˆซ์ž ๊ฐ’๋“ค์„ ๋‹ด์€ ๊ฐ์ฒด
    • App ์ปดํฌ๋„ŒํŠธ:
      • state ๊ฐ’๋“ค(duration, annualInvestment ๋“ฑ)์ด hooks ํ•˜์œ„์— ํ‘œ์‹œ๋จ

์‹ค์‹œ๊ฐ„ ๊ฐ’ ์ˆ˜์ • ๊ธฐ๋Šฅ

  • components ํƒญ์—์„œ state๋‚˜ props์˜ ๊ฐ’์„ ์ง์ ‘ ์ˆ˜์ • ๊ฐ€๋Šฅ
  • ์˜ˆ: duration์„ 12๋กœ ๋ณ€๊ฒฝํ•˜๋ฉด ์ฆ‰์‹œ UI๊ฐ€ ์žฌ๋ Œ๋”๋ง๋˜์–ด ๊ทธ ํšจ๊ณผ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ

Profiler ํƒญ (์„ฑ๋Šฅ ๋ถ„์„)

  • ๋‚˜์ค‘์— ๋‹ค๋ฃฐ ๊ณ ๊ธ‰ ์ฃผ์ œ
  • ๋ Œ๋”๋ง ์‹œ๊ฐ„๊ณผ ์„ฑ๋Šฅ ๋ณ‘๋ชฉ์„ ํŒŒ์•…ํ•˜์—ฌ ์•ฑ์„ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ

๐Ÿ“‘ Reference



Pagination


ยฉ 2025. All rights reserved.

Powered by Hydejack v9.2.1