Notice
Recent Posts
Recent Comments
Link
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 자바스크립트배포
- Redux
- 6주포트폴리오
- javascript React
- useSearchParams
- foreach
- React onClick
- 인라인블럭
- JavaScript
- useParams
- 자바스크립트
- first-child
- toString
- 콜백함수
- couchcoding
- sort
- 카우치코딩
- useEffect
- 협업프로젝트
- JSON
- redux toolkit
- React state
- javascript코딩테스트
- redux 사용방법
- react redux
- react
- Redux store
- line-through
- db.json
- 블럭요소
Archives
- Today
- Total
개발하는 루루언니
함수형 라이프 싸이클 이해하기 본문
728x90
반응형
function App() {
const [counter2,setcounter2]=useState(0)
const[value, setValue] =useState(0)
let counter =0;
let increase = ()=>{
counter = counter + 1
setcounter2(counter2 + 1)
setValue(value+2)
console.log("counter는",counter , "counter2는 ",counter2)
}
useEffect(()=>{
console.log("함수 라이프 싸이클")
},[])
useEffect(()=>{
console.log("함수 라이프 싸이클 두번째",counter2,value)
},[counter2,value])
return (
<div >
{console.log("render")}
<div>{counter}</div>
<div>state:{counter2}</div>
<button onClick={increase}>클릭!</button>
</div>
);
}
함수형 라이크 사이클의 구조와 코드를 함께 보고 비교해볼거다.
요약 아닌 요약
1. useState가 있다면 리랜더링이 되므로 변수의 값은 변하지 않는다.
2. 콘솔에 render 와 useEffect를 사용했을때 우선순위를 확인해보쟈
rander가 먼저 실행이 되는걸 알 수 있다.
즉, 컴포넌트를 그려준 다음 useEffect가 사용되는걸 알 수 있다.
useEffect 안에 함수라이프 싸이클을 써주었는데
이걸 표그림을 봣을때 componentDid-Mount 인걸 확인할 수 있다.
render후 생성이 될때 콜백함수 안에 useEffect 내용이 실행이 된다.
3. 그럼 useEffect 안에 대괄호 [ ] 배열에는 어떻게 작동할까?
render 다음 함수라이프 싸이클 두번째가 작동이 되는걸 확인할 수 있는데
여기서 봐야할 부분은 1 이다.
코드를 보면 counter2을 대괄호에 넣었는데 원래같으면 사실
비동기작용을 하여 한박자 늦게 실행이 되지만
useEffet 안에 [counter2 ]을 넣게 되면 바로바로 실행이 되는걸 알 수 있다.
그럼? 다시 그림표를 보면 여기는 어떤게 해당이 될까?
바로 componentDidUpdate 이다. 업데이트가 되면 바로 실행이 되는걸 알 수 있다.
728x90
'컴퓨터 정보 > 리액트' 카테고리의 다른 글
React : 리덕스(Redux) useDispacth 사용해보기 (0) | 2022.12.23 |
---|---|
React : 리덕스 (Redux) sotre 사용법 (0) | 2022.12.23 |
리액트 : count를 통해 동기/비동기 작동원리 알아보기 (0) | 2022.12.15 |
리액트 (React) : onclick에 매개변수를 넣고 싶으면? 콜백함수를 써라 (0) | 2022.12.14 |
React : SPA 란? (0) | 2022.12.04 |