TIL - 220809(화)

Jason Moon·2022년 8월 9일
0

TIL

목록 보기
43/47

어제부터 바닐라코딩 프렙 과정을 시작했다.
바닐라코딩 프렙과정은 자바스크립트 주요 개념과 자료구조에 대해 배우는 과정이다. 이 과정을 선택한 이유는 자바스크립트 기본을 조금 더 다지고 매주 과제를 하면서 코드 리뷰를 받고 싶어서이다. 누군가에게 코드 리뷰를 받아 본 적이 없기 때문에 코드 리뷰를 받으면서 나의 안 좋은 습관들을 고쳐 나가고 싶다.

오늘 공부 한 것

클로저

클로저는 함수와 그 함수가 선언된 렉시컬 환경과의 조합이다.
렉시컬 스코프 - 자바스크립트 엔진은 함수를 어디서 호출했는지가 아니라 함수를 어디에 정의했는지에 따라 상위 스코프를 결정

useEffect의 다양한 역할

useEffect는 상황에 따라 다양한 역할을 한다.

  • componentDidMount
    useEffect는 기본적으로 앱 실행 후 첫번째 렌더 후에 한 번 실행이 된다.
    여기서는 주로 화면에 처음 보여줘야할 데이터들에 대한 api호출을 한다.
  • componentDidUpdate
    useEffect두번째 매개변수인 배열에 state가 들어가 있다면 state값이 바뀔 때 마다 호출되는 componentDidUpdate의 역할을 한다.
  • 배열 안에 여러개의 state가 들어있다면?
    배열 안에 여러개의 state를 구독하고 있다면 배열 안에 state 중 하나라도 업데이트가 되면 해당 useEffect가 호출이 된다. 하지만 여러개의 state가 동시에 업데이트 되었다 해도 한 번만 호출이 된다.
profile
어려워 보여도 시간을 들여서 해보면 누구나 할 수 있는 일이다

0개의 댓글