카테고리 없음

[Next.js] Router로 새 창 띄우기

AgileJung 2022. 10. 4. 21:56
728x90
반응형

Next.js를 사용하는데 새 창을 띄우고 싶다면 보통 Link나 Router를 이용해야 한다고 생각했다.

특정 글씨를 눌렀을 때 새 창을 띄우고 싶다면 Link를 생각하겠지만 Next.js에서는 a 태그만 사용해도 된다고 나와있다.

 

하지만 내가 원하는 상황은 글씨가 아니라 특정 부분을 누르고 나서 새로운 창이 열리면서 이동하길 바랬다.

그래서 찾은 방법을 공유하고자 한다.

 

router.push('이동할 url')

처음에는 위와 같은 방법으로 이동하려고 했다. 특정함수를 실행하고 마지막에는 이동할 url로 새창을 여는 상황

하지만 새 창이 뜨지는 않았다.

 


window.location('이동할 url')

Next.js에서는

You don't need to use router.push for external URLs. window.location is better suited for those cases.

 

Window.location - Web APIs | MDN

The Window.location read-only property returns a Location object with information about the current location of the document.

developer.mozilla.org

위와 같은 방법을 권장한다고 되어있어서 이와 같은 방법으로 시도했으나 열리지 않았다.

 


💡해결 방법 window.open('이동할 url')

위의 방법이 통하지 않아 다른 방법을 찾았고 widow.location 대신 window.open이라는 메서드를 사용하여 해결할 수 있었다.

window.open('https://agilejung.tistory.com/')

next.js를 사용하고  글씨가 아닌 특정 로직을 통해서 url를 조작하고 싶다면 이 방법을 시도하는 것이 좋을 것 같아 글을 남긴다.

 

Window.open() - Web APIs | MDN

The open() method of the Window interface loads a specified resource into a new or existing browsing context (that is, a tab, a window, or an iframe) under a specified name.

developer.mozilla.org

 

728x90
반응형