일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- CSS
- Nextjs
- React API 참고서
- React 고급안내서
- Next13
- 고급안내서
- background tab
- Programmers
- react hook
- React 공식문서
- background setttimeout
- React 18 Nextjs
- RTK Query
- Nextjs React 18
- Babel
- codingtest
- context
- background: url
- react
- React 고급 안내서
- Render Props
- React18
- background setInterval
- hook
- next13 head
- notFound()
- getUTCDate
- Javascript
- react-helmet
- React 18
- Today
- Total
akjfal
[공식 문서 정리] Hook API 참고서 본문
...기존 문서가 날아가 멘탈이 날아가있습니다. 리눅스 쓸때 입력이 밀리는지 뭐가 잘못인지 종종 다른 실행이 될때가잇는데 아... 카톡도 안되고 리눅스 싫네요.....ㅜㅜ
https://ko.reactjs.org/docs/hooks-reference.html#usestate
1. useState
const [state, setState] = useState(initialState);
작동 시나리오 : 처음 렌더링 -> state에 initialState가 할당 / setState실행 -> 데이터 할당 -> rerendering
지연 초기 state
const [state, setState] = useState(() => {
const initialState = someExpensiveComputation(props);
return initialState;
});
초기값 렌더링이 무시되어 고비용계산시 사용된다.
state갱신의 취소
만약 이전값과 값이 같다면 rendering을 하지 않는다.
2. useEffect
useEffect(didUpdate);
참고 :https://akjfal.tistory.com/13
3. useContext
const value = useContext(MyContext);
redux와 비슷한 개념 및 사용법을 가지고 있다.
단 useContext(MyContext.Provider) 이와 같이 객체 그 자체가 아닌것을 사용해하면 안된다. MyContext로 사용해야한다.
4. useReducer
const [state, dispatch] = useReducer(reducer, initialArg, init);
하나의 컴포넌트속에서 여러가지 useState를 사용시 dispatch를 통해 redux사용하듯이 사용이라고 생각하면 간단하다. useState를 정리해서 사용할 수 있다.
5. useCallback
const memoizedCallback = useCallback(
() => {
doSomething(a, b);
},
[a, b],
);
메모이제이션된 콜백을 반환한다.
*메모이제이션 : 동일한 계산을 반복해야 할때 이전에 계산한 값을 메모리에 저장해 동일한계산의 반복수행을 제거하여 프로그램 실행속도를 빠르게하는 기술
*콜백 함수 : 다른 함수의 인자나 이벤트로써 호출되어지는 함수
이때 useEffect와 같이 의존성이 변경되었을때만 작동한다.
6. useMemo
const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]);
메모이제이션된 값을 반환한다. useEffect와 같이 의존성이 변경되었을 때만 메모이제이션된값만 다시 계산한다. 단 useEffect와 달리 rendering 중에서 작동하므로 useEffect처럼 사용하면 안된다.
7. useRef
const refContainer = useRef(initialValue);
변경가능한 ref객체를 반환한다. 하지만 내용이 변경되어도 그것이 적용되지는 안는다. 즉 rerendering이 되지않는다(?)
8. useImperativeHandle
useImperativeHandle(ref, createHandle, [deps])
부모 컴포넌트로부터온 ref를 customize한다. 즉 값을 추가하거나 등등 의 일을 할 수 있다.
9. useLayoutEffect
useEffect와 동일하긴하나 차이점은 모든 DOM변경 즉 rendering된 후 무조건 발생한다.
10. useDebugValue
useDebugValue(value)
React개발자도구에서 표시해준다. 디버그용인듯하다.
'react > react-hook' 카테고리의 다른 글
[공식 문서 정리] Hook 규칙 (0) | 2019.10.30 |
---|---|
useState와 function (0) | 2019.10.30 |
[공식 문서 정리] Effect Hook 사용하기 (0) | 2019.10.30 |