React Hook이란?

import React, { Component } from 'react';

class SimpleHabit extends Component {
  ****state = {
    count: 0,
  };

  handleIncrement = () => {
    this.setState({ count: this.state.count + 1 });
  };

  render() {
    return (
      <li className="habit">
        <span className="habit-name">Reading</span>
        <span className="habit-count">{this.state.count}</span>
        <button
          className="habit-button habit-increase"
          onClick={this.handleIncrement}
        >
          <i className="fas fa-plus-square"></i>
        </button>
      </li>
    );
  }
}

export default SimpleHabit;
import React, { useState } from 'react';

const SimpleHabit = () => {
  ****const [count, setCount] = useState(0);

  ****const handleIncrement = () => {
    setCount(count + 1);
  };

  return (
    <li className="habit">
      <span className="habit-name">
        Reading
      </span>
      <span className="habit-count">{count}</span>
      <button className="habit-button habit-increase" onClick={handleIncrement}>
        <i className="fas fa-plus-square"></i>
      </button>
    </li>
  );
};

export default SimpleHabit;

React Hook이 필요한 이유

  1. Class는 사람과 기계를 혼동시킵니다.

  2. 복잡한 컴포넌트들은 이해하기 어렵습니다.

  3. 컴포넌트 사이에서 상태 로직을 재사용하기 어렵습니다.

Hook의 장점