🤍 전 강의 25% 할인 중 🤍

2024년 상반기를 돌아보고 하반기에도 함께 성장해요!
인프런이 준비한 25% 할인 받으러 가기 >>

  • 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

RouterLink와 router.push()

24.05.16 15:42 작성 조회수 86

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

어떨 때 RouterLink를 사용하고, 어떨 때 router.push를 사용해야하나요??

 

두 개의 기능이 똑같아보이는데, 404에서는 RouterLink를 사용하신 이유가 궁금합니다

답변 2

·

답변을 작성해보세요.

0

안녕하세요. AI 인턴의 답변과 마찬가지로

RouterLink<a>태그로 렌더링됩니다. 그리고

router.push()는 자바스크립트로 동작하기에 사전에 특정 비즈니스 로직을 처리할 수 있습니다.

추가로 RouterLink 사용시 <a>태그로 렌더링이 되었을 때 검색엔진 봇은 <a> 태그의 href 속성을 참고하여 웹 사이트 주소를 수집하기에 SEO에 더 유리합니다.

 

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.05.18

안녕하세요, 인프런 AI 인턴입니다.

질문하신 RouterLinkrouter.push()에 관하여 설명드리겠습니다.

RouterLink는 주로 Vue.js 템플릿에서 사용하며, 사용자가 링크를 클릭할 때 지정된 경로로 이동하게 합니다. 이는 렌더링된 HTML에서는 <a> 태그로 변환되어 사용자가 링크를 클릭했을 때 지정된 페이지로의 라우팅을 처리합니다. RouterLink는 선언적 네비게이션을 지원합니다.

반면에, router.push()는 프로그래매틱 네비게이션을 위해 사용됩니다. 즉, JavaScript 코드에서 조건에 따라 또는 특정 이벤트가 발생했을 때 동적으로 라우트를 변경할 때 사용됩니다. 예를 들어, 사용자의 입력을 검증한 후에 특정 경로로 이동해야 할 때 router.push() 메소드를 호출하여 처리할 수 있습니다.

404 페이지와 같은 경우에 RouterLink를 사용하는 이유는, 주로 사용자가 잘못된 URL에 접근했을 때 보여주는 정적인 페이지인 경우가 많기 때문입니다. 사용자에게 다른 페이지로의 링크를 제공하여 클릭만으로 손쉽게 네비게이션할 수 있도록 선언적 방식을 사용하는 것이 자연스럽습니다. 또한, RouterLink를 사용하면 SPA의 성능 이점을 유지하면서 페이지를 리로드하지 않고도 라우트를 변경할 수 있습니다.

결론적으로, 사용자의 인터랙션에 따라 동적으로 라우트를 변경해야 하는 경우 router.push()를 사용하고, 링크를 통한 선언적 라우팅이 필요한 경우 RouterLink를 사용하는 것이 일반적인 사용법입니다.

채널톡 아이콘