개발공부/리액트
[리액트] 함수형 컴포넌트 hooks 정리
햄❤️
2021. 3. 30. 13:09
728x90
- 리액트 훅이란?
life-cycle, state관리를 해주고 클래스형 컴포넌트의 기능을 사용할 수 있는 함수형 컴포넌트
-useState
state(상탯값) 관리 가능
import React, {useState} from 'react';
const [name, setName] = useState('');
배열에 두 값을 넣는다.
첫번째 원소는 상탯값 = state
두번째 원소는 상태값을 변경할 수 있는 함수
- useEffect
함수형 컴포넌트에서 life-cycle함수를 사용할 수 있게 해준다.
import {useEffect} from 'react';
unction MyComponent() {
const [count, setCount ] = useState(0);
useEffect( ()=> {
document.title = '업데이트 횟수 : ${count}`;
}, []); //배열 입력!
return <button onClick={ ()=> setCount(count +1) }> increase </button>
}
useEffect 훅에 입력된 함수는 렌더링 결과가 실제 돔에 반영된 후 호출
클래스형 컴포넌트의 componentDidMount 구현 가능
즉, 버튼을 누르면 다시 렌더링되고, 렌더링 끝나면 함수 호출됨 ( count+1)
렌더링 될때마다 호출되기 때문에 이를 방지하기 위해 두번째 매개변수에 배열을 입력하면 배열의 값이 변경되는 경우에만 함수가 호출된다!!! 빈 배열 []을 넣어놓으면 한번만 호출된다.
- useSelector
리덕스의 상태값을 조회, connect를 통해 조회하는것보다 간결하게 사용 가능
import { useSelector } from 'react-redux';
const 변수명 = useSelector(state => state.리듀서모듈명.스테이트값)
- setState
컴포넌트의 state 객체에 대한 업데이트를 실행. state가 변경되면 컴포넌트 리렌더링
state가 한번 생성되고 난 후, state를 바꾸기 위해 사용한다
728x90