TIL
⭐Class형 함수
⭐Component의 생명주기
⭐useRef는 무엇일까?
⭐useEffect는 무엇일까?
- 클래스형 컴포넌트는 다양한 객체를 만들 수 있는 틀이다.
- class date를 예를 들면 new Date의 기능들을 지정해서 사용할 수 있다.
- new Date()는 내장객체로 불리우며 내장객체 안에 객체라는 함수를 만들어내고 내장객체로 객체의 함수를 하나로 사용할 수 있다.
- 이를 객체지향프로그래밍(oop: objected oriented program)이라 부른다.
- 코드 재사용이 용이하다.
-협업하는 과정중에 협업자의 클래스를 가져와서 이용할 수 있고 상속을 통해 확장해서 사용이 가능하다- 유지보수가 간단하다.
-수정해야 할 부분이 클래스 내부에 멤버 변수 또는 메서드로 존재하기 때문에 해당 부분만 수정해주면 된다.- 대형프로젝트에 적합
-클래스 단위로 모듈화 시켜서 개발할 수 있어서 대형 프로젝트에서의 업무 분담이 비교적 쉽다.
- 처리 속도가 느리다.
- 객체가 많으면 용량이 커질 수 있다.
- 설계시 코딩 난이도가 대폭 상승 할 수 있다.
- class 함수에서 component를 import 해오면 component 안에 setState 기능이 포함되어 있어서 따로 const 지정을 안해줘도 사용이 가능하다.
- Router도 마찬가지로 const 지정을 안해줘도 사용이 가능하다. 다만 import Router from 'next/router'를 해줄 것❗
- component가 web browser상에 나타나고 업데이트 되고, 사라지게 될 때 호술 되는 method이다.
- 특정 시점에 코드가 실행 되도록 설정을 해줄 수 있다.
- 위의 코드를 콘솔로 찍어보면 아래 사진처럼 찍힌다.
- componentWillUnmount 함수기능인 나가기 버튼을 클릭하게 되면 기본 페이지인 화면으로 이동이 된다.(🔻)
- useRef를 사용해서 input태그를 선택하고 focus()기능을 사용해주면 끝! 단, 태그랑 연결 시킬 수 있는 변수를 지정해줘야 한다(🔻)
- input태그가 화면에 rendering(다 그려진 이후)이 된 이후에 명령을 실행 하면 커서가 깜빡이게 된다.
- [] : 의존성 배열 (안의 내용에 들어있는 요소가 변경될 때 실행되며, 의존성 배열없이 작성하게 되면 변경되는 모든 사항마다 실행이 된다❗