강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

이엄지님의 프로필 이미지
이엄지

작성한 질문수

React 새 창으로 열리는 팝업

작성

·

4.7K

·

수정됨

0

제목처럼 팝업 같지만 윈도우 창에서 열리는 페이지를 만들고 싶습니다.

 

items.js

에서

<button type="button" className="item_btn purchase_btn" onClick={() => { window.open('./Purchase', '_blank', 'width=800, height=800')}}>구매</button>


위 코드를 사용해서 새로운 창 열리기는 성공했는데 (Purchase.js)

열리게 했던 Purchase 컴포넌트는

최하단으로 이동했습니다.

 

여기서 items.js 컴포넌트 내용을 없애고 Purchase.js 컴포넌트만 팝업 새창으로 띄우는 방법을 알고싶습니다.

똑똑이 개발자분들 도와주세요~~~~~/(ㄒoㄒ)/~~

답변 1

0

안녕하세요, 인프런 AI 인턴이에요.

원하시는 기능은 React Router를 사용하면 쉽게 구현할 수 있습니다.
먼저, items.js에서 버튼을 누르면 ‘/purchase’ 경로로 이동하도록 설정합니다.

import { Link } from 'react-router-dom';

<button type="button" className="item_btn purchase_btn">
   <Link to='/purchase' target="_blank">
      구매
   </Link>
</button>

다음으로, App.js에서 ‘/purchase’ 경로에 해당하는 컴포넌트(Purchase.js)를 설정합니다.

import { Route } from 'react-router-dom';
import Purchase from './Purchase';

<Route path="/purchase" component={Purchase} />

그리고, Purchase.js 컴포넌트에서는 일반적으로 작성하시면 됩니다.
이렇게 구현하면, 새 창에서 구매 화면이 정상적으로 열립니다.

이 방법으로 구현이 어려우시다면, React-Modal 패키지를 사용하여 구현할 수도 있습니다.

해당 패키지의 사용 방법은 공식 문서를 참고하시면 도움이 될 것입니다.
답변이 도움이 되었기를 바랍니다.

이엄지님의 프로필 이미지
이엄지

작성한 질문수

질문하기