클래스 컴포넌트와 함수 컴포넌트

Donggu(oo)·2022년 11월 29일
0

React

목록 보기
13/30
post-thumbnail

1 클래스 컴포넌트(Class Component)


  • 클래스 컴포넌트는 컴포넌트 사이에서 상태 로직을 재사용하기 어렵다는 단점이 있다.

  • 또한 React의 클래스 컴포넌트를 사용하기 위해서는 JavaScript의 this 키워드가 어떤 방식으로 동작하는지 알아야 하는데, 이는 문법을 정확히 알지 못하면 동작 방식 자체를 정확히 이해하기 어렵다.

class Counter extends Component {
    constructor(props) {
        super(props);
        this.state = {
            counter: 0
        }
        this.handleIncrease = this.handleIncrease.bind(this);
    }

    handleIncrease = () => {
        this.setState({
            counter: this.state.counter + 1
        })
    }

    render(){
       return (
            <div>
                <p>You clicked {this.state.counter} times</p>
                <button onClick={this.handleIncrease}>
                    Click me
                </button>
            </div>
       ) 
    }
}

2. 함수 컴포넌트(Function Component)


  • 함수형 컴포넌트는 클래스형 컴포넌트에 비해 훨씬 직관적이고, 보기 쉽다는 특징이 있다.
function Counter () {
    const [counter, setCounter] = useState(0);

    const handleIncrease = () => {
        setCounter(counter + 1)
    }

    return (
        <div>
            <p>You clicked {counter} times</p>
            <button onClick={handleIncrease}>
                Click me
            </button>
        </div>
    )
}

0개의 댓글