250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 내일배움캠프 프로젝트
- tanstack query
- 파이썬 replace
- JavaScript
- 리액트 프로젝트
- useEffect
- 내일배움캠프
- 내일배움캠프 최종 프로젝트
- 타입스크립트 리액트
- 파이썬 for in
- typeScript
- 파이썬 for
- 리액트 공식문서
- 타입스크립트
- 리액트 훅
- 파이썬 slice
- REACT
- Next 팀 프로젝트
- 파이썬 enumerate
- 파이썬 반복문
- 타입스크립트 props
- 내배캠 프로젝트
- 한글 공부 사이트
- 리액트
- 코딩테스트
- 프로그래머스
- 자바스크립트
- React Hooks
- useState
- 파이썬 딕셔너리
Archives
- Today
- Total
sohyeon kim
[React] Hooks(1) : useEffect 본문
728x90
💡 리액트 훅들에 알아보자
💡 useEffect : 렌더링 시 특정한 작업을 해야할 때 설정하는 훅
- 컴포넌트가 화면에 보여졌을 때
- 컴포넌트가 화면에서 사라졌을 때(return)
import "./App.css";
import { useEffect } from "react";
function App() {
useEffect(() => {
console.log("hello"); {/*콘솔에 hello 출력*/}
});
return <>useEffect</>;
}
export default App;
화면이 렌더링될 때 콘솔에 값이 출력된다.
import "./App.css";
import { useEffect, useState } from "react";
function App() {
const [value, setValue] = useState("");
useEffect(() => {
console.log("hello useEffect");
});
return (
<div>
<input
type="text"
value={value}
onChange={(event) => {
setValue(event.target.value);
{/*input에 값이 입력되면 setValue가 바뀌며 리렌더링되고 useEffect가 실행된다.*/}
}}
/>
</div>
);
}
export default App;
화면 실행됐을 때 콘솔이 한 번, 입력하면서 네 번 찍혔다.
👀 useEffect 의 실행 조건을 걸어보자.
의존성 배열 활용 : 배열에 값을 넣으면 값이 바뀔 때만 useEffect 가 실행된다!
useEffect(() => {
console.log("hello useEffect");
}, []);
빈 배열을 넣어주면, 처음 화면 실행시에만 동작한다.
useEffect(() => {
console.log(`hello useEffect : ${value}`);
}, [value]);
값을 넣어주니, input 에 값이 입력될 때 마다 동작한다.
👀 clean up 함수 : 값이 삭제될 때 실행 되는 return
위 value 에는 실행된 이후의 값이 출력되고,
아래 value 에는 실행 이전의 값이 출력된다.
➡️ 이전 값이 삭제되기 전 그 값을 반환하는 것이다.
❗️ return 값이 먼저 출력된다.
useEffect(() => {
console.log(`hello useEffect : ${value}`);
return () => {
console.log(`${value}`);
};
}, [value]);
728x90
반응형
'React' 카테고리의 다른 글
[React] Hooks(3) : useContext, ~ NO Props ~ 데이터 공유 (0) | 2024.01.24 |
---|---|
[React] Hooks(2) : useRef, input 검색창 포커스 (1) | 2024.01.24 |
[React] useState(3) : 함수형 업데이트 (0) | 2024.01.24 |
[React] useState(2) : 참조형 데이터 값 리렌더링 (2) | 2024.01.23 |
[React] useState(1) : 카운트앱, input 값 받아오기 (0) | 2024.01.23 |