โœจ
Saltberry
GithubLinkedIn
  • ๊ฐœ์š” Overview
  • ๐Ÿ“HTML/CSS
    • ๊ตฌ์กฐ HTML
    • ์Šคํƒ€์ผ CSS
      • z-index
  • ๐Ÿ“ฆ๊ฐœ๋ฐœ Development
    • ๊ฐœ๋ฐœ Implementation
    • ๋‹จ์–ด Glosarry
    • ๊นƒ Git
    • ํ•ด์‹œ Hash
    • ๋…ธ๋“œ ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ € Node Package Manager
    • ๋ธŒ๋ผ์šฐ์ € ๋žœ๋”๋ง Browser Rendering Process
    • ๊ต์ฐจ ์ถœ์ฒ˜ ๋ฆฌ์†Œ์Šค ๊ณต์œ  CORS
    • ์ธํ„ฐํ”„๋ฆฌํ„ฐ Interpreter
    • Object-oriented programming(OOP) ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
  • ๐Ÿ’กCS 50
    • Computational Thinking
  • โœจ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Javascript
    • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ž€ What is JavaScript
    • ํ‘œํ˜„์‹๊ณผ ๋ฌธ Expression Statement
    • ๋ณ€์ˆ˜ Variable
    • ํ•จ์ˆ˜ Function
    • ์ฐธ๊ณผ ๊ฑฐ์ง“ ๊ฐ’ Truth Falsy
    • ๋ฐฐ์—ด Array
    • Import Export
    • ์Šคํƒ๊ณผ ํ Stack Queue
    • ๋ฌธ์„œ๊ฐ์ฒด๋ชจ๋ธ Document Object Model
      • ๊ฐœ์š” Overview
      • ๋„ํ๋จผํŠธ Document
      • HTMLCollection
      • getMethod
      • NodeList
      • childNodes, children
      • Event
      • live, static
      • Element
      • DOM Token
      • ์†์„ฑ attribute
      • implementation
      • ๋…ธ๋“œ Node
      • HTMLElement
    • ๋ธŒ๋ผ์šฐ์ € ์ €์žฅ์†Œ Cookie Web Storage
  • ๐ŸŽ๋ฆฌ์•กํŠธ React
    • ๋ฆฌ์•กํŠธ ํ†ง์•„๋ณด๊ธฐ Overview
    • Intro
      • ์ƒํƒœ์˜ ๋ถˆ๋ณ€์„ฑ State Immutability
      • Props and State
      • Hooks
    • Concepts
  • ๐Ÿšฆํƒ€์ž…์Šคํฌ๋ฆฝํŠธ Typescript
    • Page 1
  • ๐Ÿ—ƒ๏ธ๋ฆฌ๋•์Šค Redux
    • ์™œ ๋ฆฌ๋•์Šค๋ฅผ ์‚ฌ์šฉํ• ๊นŒ Why Redux
    • ํ”Œ๋Ÿญ์Šค Flux
  • ๐Ÿ“ฌ๋„ฅ์ŠคํŠธ Nextjs
    • Pages
  • โœ…๋ฉด์ ‘ Interview
    • Index
    • Implement experiences
    • Best practice for query parameter and fetch
  • ๐Ÿš€TECH
    • Lists
    • Zustand
  • ๐ŸงฌAlgorithm
    • Types of algorithms
    • ์ด์ง„์ˆ˜ ๋ณ€ํ™˜ Binary Number
    • ํ›„์œ„ ์—ฐ์‚ฐ์ž Postfix expression
    • ์„ ํƒ ์ •๋ ฌ Selection Sort
    • Find longest substring without repeating characters
    • ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ Valid Parentheses
  • ๐Ÿ“”Mathematics
    • ๋‹คํ•ญ์‹ Polynomial
  • ๐Ÿ—‚๏ธDatabase
    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค Database
  • ๐Ÿ“Class
    • ์ž๋ฃŒ๊ตฌ์กฐ Data Structure
      • ๋ฐฐ์—ด Array
    • C++ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
      • C++ ๊ธฐ์ดˆ
    • ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™ Software engineering
      • ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ์š” Software overview
      • ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœ์„ธ์Šค Software process
    • ์ž๋ฐ” Java
      • ์ž๋ฐ”์™€ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ Java and OOP(Object-oriented programming)
  • Java
    • ์ž๋ฐ”๊ฐ€ ๋ญ์ง€?
  • CA EI
    • CA EI
Powered by GitBook
On this page
  1. ๋ฆฌ์•กํŠธ React

Concepts

Last updated 1 year ago

Nesting components

๋ฆฌ์•กํŠธ๋Š” ์ปดํฌ๋„ŒํŠธ๋“ค์˜ ์ง‘ํ•ฉ์ฒด์ด๋‹ค. ์ปดํฌ๋„ŒํŠธ๋ผ ํ•˜๋ฉด UI(User Interface)๋กœ ์ž์‹ ์˜ ๋กœ์ง๊ณผ ์Šคํƒ€์ผ์„ ๊ฐ–๊ณ  ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ์•„์ฃผ ์ž‘์€ ๋‹จ์œ„์˜ ๋ฒ„ํŠผ๋ถ€ํ„ฐ ํ•˜๋‚˜์˜ ํŽ˜์ด์ง€๊นŒ์ง€ ๋‹ค์–‘ํ•˜๋‹ค.

-> Atomic design system๊ณผ ์ž˜ ๋ถ€ํ•ฉํ•˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

๋ฆฌ์•กํŠธ ์ปดํฌ๋„ŒํŠธ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ ๋งˆํฌ์—…์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ๋˜ํ•œ, HTML ํƒœ๊ทธ์™€ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ฆฌ์•กํŠธ ์ปดํฌ๋„ŒํŠธ๋Š” ๋Œ€๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

// JSX ๋‚ด { } escape ๋ฌธ์ž๋ฅผ ํ†ตํ•ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ’๋“ค์„ ๋„ฃ์„ ์ˆ˜ ์žˆ๋‹ค.
const Button = ({onClick}) => {
    return (
        <button onClick={onClick}></button>
    )
}

// export default ํ‚ค์›Œ๋“œ๋Š” ํŒŒ์ผ ๋‚ด ๋ฉ”์ธ์œผ๋กœ ๋ฐ˜ํ™˜ํ•  ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.
export default const Page = () => {
    const onClick = () => {
        ...
    }

    return (
        <>
            <h1>Payment</h1>
            <Button onClick={onClick}/>
        </>
    )
}

๋ฆฌ์•กํŠธ ์ปดํฌ๋„ŒํŠธ๋Š” ์—ฌ๋Ÿฌ๊ฐœ์˜ JSX ํƒœ๊ทธ๋ฅผ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์—†๊ณ  ํ•˜๋‚˜์˜ ๊ฐ์‹ธ์ง„ JSX ํƒœ๊ทธ๋งŒ์„ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ตฌ์ฒด์ ์œผ๋กœ ์ •ํ•ด์ง„ ๋ฐ”๋Š” ์—†์ง€๋งŒ ๊ฐ€์žฅ ์‰ฝ๊ฒŒ className์„ ํ†ตํ•ด ์Šคํƒ€์ผ๋ง ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฆฌ์•กํŠธ์—์„œ๋Š” if๋ฅผ ์‚ฌ์šฉํ•ด ๋ Œ๋”๋ง ๋ถ„๊ธฐ์ฒ˜๋ฆฌ ํ•  ์ˆ˜ ์žˆ๋‹ค.

const Input = ({isLoggedIn, username}) => {
    const content = isLoggedIn ? <Admin /> : <Login />
    
    return(
        <div>
            {content}
            {username && (
                <span>{username}</span>
            )}
        </div>
    )
}

Managing State

๐ŸŽ
1)