React

React Hooks

김꼬알 2023. 7. 3. 18:04

React Hooks

  • ReactConf 2018에서 발표된 class 없이 state를 사용할 수 있는 새로운 기능

 

React Hooks의 필요성

  • Class Component로 사용되어 온 React에서 느껴왔던 불편함이나 문제점들을 해결하기 위해서 개발됨

 

React Component

Class Component Funcrtional Component
더 많은 기능 제공 더 적은 기능 제공
더 긴 코드 양 짧은 코드 양
더 복잡한 코드 더 심플한 코드
더딘 성능 더 빠른 성능

 

리액트의 생명주기

  • 리액트의 생명주기를 함수형 컴포넌트에서는 사용을 못했기 때문에 함수형 컴포넌트가 더 간결하고 빠르더라도 클래스형 컴포넌트를 사용함
  • React 16.8 Hooks 업데이트로 함수형 컴포넌트에서도 생명주기를 사용할 수 있기 때문에 데이터를 가져오고, 컴포넌트를 시작하자마자 API도 호출하는 등 많은 부분을 할 수 있게 됨
  • 생명주기를 위해 componentDidMount, componentDidUpdate, componentWillUnmount 모두를 Hooks에서는 useEffect를 이용해서 처리해줌

 

HOC(Higher Order Component)

  • 컴포넌트를 인자로 받아서 새로운 리액트 컴포넌트를 리턴하는 함수
  • React Hooks에서는 HOC 대신에 따로 Custom Hooks를 이용해서 컴포넌트를 만들어서 처리를 해주기 때문에 Wrapper가 많아지는 일을 방지할 수 있음

 

Hooks에서 state를 업데이트 하기

  • setName을 이용해서 할 수 있음
const[name, setName] = useState("");