โœจ
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
  • ๐Ÿ–ฅ๏ธWEB
    • Web storage
  • โœจ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ 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
  2. Intro

Hooks

render props, ๊ณ ์ฐจ ์ปดํฌ๋„ŒํŠธ๋ฅผ ํ†ตํ•ด ์ปดํฌ๋„ŒํŠธ ์žฌ์‚ฌ์šฉ?

context, ๊ณ ์ฐจ ์ปดํฌ๋„ŒํŠธ, render props ๋“ฑ์„ ํ†ตํ•ด wrapper hell์ด ๋ฐœ์ƒ?

-> Hook์„ ์‚ฌ์šฉํ•˜๋ฉด ์ปดํฌ๋„ŒํŠธ๋กœ๋ถ€ํ„ฐ ์ƒํƒœ ๊ด€๋ จ ๋กœ์ง์„ ์ถ”์ƒํ™”ํ•˜์—ฌ ํ…Œ์ŠคํŠธ ๋ฐ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅ

-> Hook์€ ๊ณ„์ธต์˜ ๋ณ€ํ™” ์—†์ด ์ƒํƒœ ๊ด€๋ จ ๋กœ์ง์„ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅ

Class ์ปดํฌ๋„ŒํŠธ์˜ ๊ฒฝ์šฐ ๊ฐ ์ƒ๋ช…์ฃผ๊ธฐ ๋ฉ”์„œ๋“œ์— ๊ด€๋ จ ์—†๋Š” ๋กœ์ง์ด ํฌํ•จ๋  ์ˆ˜ ์žˆ์Œ

-> ํ•˜๋‚˜์˜ ๋กœ์ง์„ ๋งŒ๋“ค๊ณ  ์‹ถ์€๋ฐ ๊ฐ ์ƒ๋ช…์ฃผ๊ธฐ ๋ณ„ ๋ฉ”์„œ๋“œ๋Š” 1๊ฐœ ๋ฐ–์— ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ณ  ์ด ์•ˆ์— ๊ด€๋ จ์—†๋Š” ๋กœ์ง๋„ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋‹ˆ ์‚ฌ์ด๋“œ ์ดํŽ™ํŠธ๋‚˜ ์žฌ์‚ฌ์šฉํ•˜๊ธฐ๊ฐ€ ์–ด๋ ต๋‹ค?

-> ์ƒํƒœ ๊ด€๋ จ ๋กœ์ง์€ ๋ฌถ์—ฌ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ปดํฌ๋„ŒํŠธ๋“ค์„ ์ž‘๊ฒŒ ๋ถ„๋ฆฌํ•˜๊ธฐ๊ฐ€ ์–ด๋ ต๊ณ  ํ…Œ์ŠคํŠธ๋„ ์–ด๋ ต๋‹ค

import React, { Component } from 'react';

class Counter extends Component {
    state = {counter: 0}
    
    componentWillMount() {
        //...
    }
    
    componentDidMount() {
        //...
    }
    
    onIncrement = () => {
    this.setState({
        counter: this.state.counter + 1
    });
    }

    onDecrement = () => {
        this.setState({
            cunter: this.state.counter - 1
        });
    }

    render() {
        return (
            <div>
                <p>{this.state.counter}</p>
                <button onClick={this.onIncrement}>+</button>
                <button onClick={this.onDecrement}>-</button>
            </div>
        )
    }
}

export default Counter;

๊ทธ๋ž˜์„œ ์ƒ๋ช…์ฃผ๊ธฐ ๋ฉ”์„œ๋“œ ๊ธฐ๋ฐ˜์œผ๋กœ ์ชผ๊ฐœ๋Š” ๊ฒƒ๋ณด๋‹ค Hooks๋ฅผ ํ†ตํ•ด ์ž‘์€ ๋กœ์ง์„ ๋‹ด์€ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ฌถ์„ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด ํƒ„์ƒํ•จ

Class๋Š” ๋ฏธ๋ฆฌ ์ปดํŒŒ์ผํ•˜๋Š” ๋ฐฉ์‹์— ์ ํ•ฉํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค

Hooks๋ฅผ ํ†ตํ•ด Class ์—†์ด๋„ React ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ๋จ

Last updated 1 year ago

๐ŸŽ