vue로 프로젝트에 개발 참여 경험이 있지만, LifeCycle에 대해 깊게 공부하기보다 겉핥기 식으로 간단한 내용만 익히고 넘어갔었다. 근데 vue를 제대로 이해하려면 LifeCycle을 아는 것이 기본이라는 회사 선배의 말을 듣고 공부해보려 한다.
최근 들어 공부를 좀 더 효율적으로 하기 위해 사용하고 있는 chatGPT에게 vue Life 사이클에 대해서 설명달라고 했다.
정리하면 이렇다.
vue.js에는 LifeCycle 훅이 있는데 이 훅은 인스턴스가 크게 create, update, destroy 이 세 단계를 거치면서 자동으로 실행된다.
구체적으로 살펴보면
이 라이프 사이클 훅을 사용하여 Vue 인스턴스 라이프사이클의 특정 단계에서 코드를 실행할 수 있다.
프로젝트에서 가장 많이 사용했던 함수는
created, mounted다. beforeDestroy와 destroded도 사용해 봤는데 딱 한 번 정도 사용해봤었다.
초기화 단계에서 동작하는 라이프 사이클인 만큼 변수 초기화나 조회 메서드를 실행하기 위해서 많이 사용했었다.
개발 당시에는 created, mounted 차이를 제대로 모르고 사용했다.
create에서 사용이 안 되면 mounted에서 사용하곤 했었는데 공부하기로 마음 먹었으니 제대로 알고 가고자 한다.
created : 인스턴스가 생성된 직후에 코드를 실행. (HTML 생성 전)
mounted : 실제로 화면에 내용이 그려진(rendering) 직후에 코드 실행.
또 created의 경우 컴포넌트가 상속 관계를 갖을 경우 부모 > 자식 순으로 호출되지만,
mounted는 자식 > 부모 순으로 호출한다.
watch와 computed는 methods 처럼 하나의 속성이다.
watch는 데이터의 변화를 감지하여 동작하는 속성.
computed는 계산된 데이터를 반환해주는 속성.
watch를 데이터를 감지해야 할 일이 좀 있어서 자주 사용했었는데,
데이터가 많은 경우 watch를 사용하면 vue의 성능이 떨어질 수 있다고 했던 것이 기억난다.
요즘 꾸준히 뭔갈 해내는 게 없어서 마음 먹은 김에 Vue 라이프 사이클을 공부했다.
내일은 아마 안드로이드를 공부하지 않을까 싶다. 왜 안드로이드냐. 지금 하고 있는 프로젝트가 안드로이기 때문. 손을 놓았던 적 꽤 돼서 그런가 안드로이드 너란 녀석 어렵다....