반응형
외부 사이트로 이동을 하는 여러 버튼들이 있습니다. html 문서에서 서로 다른 페이지로 이동하게 하는 버튼은 필수적인 요소라고 볼 수 있습니다. 그래서 외부 사이트를 여는 여러 함수들도 존재합니다. html의 a 태그도 외부 링크를 할 수 있는 하나의 방법입니다.
이번에 제가 사용한 함수는 window.open인데, 자바스크립트의 내장함수입니다.
window.open(url, target, features);
url에는 열고자 하는 웹 페이지의 URL을 넣고, target은 새롭게 여는 창을 어디에 열 것인지를 지정하는 속성입니다. _blank는 새 탭이나 새 창에서 열고, _self는 같은 창에서 열고, _parent는 부모 프레임, _top은 최상위 프레임에서 여는 속성입니다. 그리고 마지막으로 features에서 새롭게 여는 창의 속성을 결정하면 됩니다.
<div className={styles.snsButtonContainer}>
<img
className={styles.snsButton}
src={'/assets/banner/naver.png'}
onClick={() => {
window.open(
'https://blog.naver.com/',
'_blank',
'noopener, noreferrer',
);
}}
/>
<img className={styles.snsButton} src={'/assets/banner/insta.png'} />
<img className={styles.snsButton} src={'/assets/banner/facebook.png'} />
</div>
리액트에서 이렇게 위의 icon의 Img 태그에 onClick 함수 안에 window.open 함수를 사용해주면, 해당 아이콘을 클릭하면 지정해둔 url로 이동하게 됩니다.
<div className={styles.snsButtonContainer}>
<a
href={'https://blog.naver.com/dream_rani'}
target='_blank'
rel='noopener noreferrer'
>
<img className={styles.snsButton} src={'/assets/banner/naver.png'} />
</a>
<img className={styles.snsButton} src={'/assets/banner/insta.png'} />
<img className={styles.snsButton} src={'/assets/banner/facebook.png'} />
</div>
이렇게 a 태그를 이용해서 사용해도 됩니다. 물론 a태그를 사용하는 것이 조금 더 편할수도 있습니다. 개발하면서 느끼는 거지만 정말 많은 방법이 있고, 하나하나 선택을 했을 때 같은 결과가 나올수도 나중에 큰 후회를 몰고올수도 있다는 것이 참 재미있는 포인트인 것 같습니다.
728x90
반응형
'IT Tech > React' 카테고리의 다른 글
이메일 Input 유효성 검사하기(Email Input Validate) (0) | 2024.10.29 |
---|---|
리액트(React), 컴포넌트(Component)에 대해서 (2) | 2024.09.07 |
React 프로젝트 스프링부트 프로젝트 안으로 빌드하기 (0) | 2024.07.29 |
스프링 프로젝트 안에 리액트(React) 프로젝트 생성하기 (0) | 2024.07.29 |
JavaScript Fetch와 Spring Boot에서 URL 경로 포함한 DELETE 요청 처리 방법 (0) | 2024.07.11 |