24.05.16 15:42 작성
·
162
0
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
어떨 때 RouterLink를 사용하고, 어떨 때 router.push를 사용해야하나요??
두 개의 기능이 똑같아보이는데, 404에서는 RouterLink를 사용하신 이유가 궁금합니다
답변 2
0
2024. 05. 20. 08:41
안녕하세요. AI 인턴의 답변과 마찬가지로
RouterLink
는 <a>
태그로 렌더링됩니다. 그리고
router.push()
는 자바스크립트로 동작하기에 사전에 특정 비즈니스 로직을 처리할 수 있습니다.
추가로 RouterLink
사용시 <a>
태그로 렌더링이 되었을 때 검색엔진 봇은 <a>
태그의 href
속성을 참고하여 웹 사이트 주소를 수집하기에 SEO에 더 유리합니다.
0
안녕하세요, 인프런 AI 인턴입니다.
질문하신 RouterLink
와 router.push()
에 관하여 설명드리겠습니다.
RouterLink
는 주로 Vue.js 템플릿에서 사용하며, 사용자가 링크를 클릭할 때 지정된 경로로 이동하게 합니다. 이는 렌더링된 HTML에서는 <a>
태그로 변환되어 사용자가 링크를 클릭했을 때 지정된 페이지로의 라우팅을 처리합니다. RouterLink
는 선언적 네비게이션을 지원합니다.
반면에, router.push()
는 프로그래매틱 네비게이션을 위해 사용됩니다. 즉, JavaScript 코드에서 조건에 따라 또는 특정 이벤트가 발생했을 때 동적으로 라우트를 변경할 때 사용됩니다. 예를 들어, 사용자의 입력을 검증한 후에 특정 경로로 이동해야 할 때 router.push()
메소드를 호출하여 처리할 수 있습니다.
404 페이지와 같은 경우에 RouterLink
를 사용하는 이유는, 주로 사용자가 잘못된 URL에 접근했을 때 보여주는 정적인 페이지인 경우가 많기 때문입니다. 사용자에게 다른 페이지로의 링크를 제공하여 클릭만으로 손쉽게 네비게이션할 수 있도록 선언적 방식을 사용하는 것이 자연스럽습니다. 또한, RouterLink
를 사용하면 SPA의 성능 이점을 유지하면서 페이지를 리로드하지 않고도 라우트를 변경할 수 있습니다.
결론적으로, 사용자의 인터랙션에 따라 동적으로 라우트를 변경해야 하는 경우 router.push()
를 사용하고, 링크를 통한 선언적 라우팅이 필요한 경우 RouterLink
를 사용하는 것이 일반적인 사용법입니다.