Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
Tags
- ec2
- 성능 개선
- SSL
- 이미지 압축
- 이미지 포맷 변경
- webp
- 3-Way HandShake
- 검색엔진최적화
- CI
- 자동화
- nextJS
- 로드 밸런싱
- SSH
- 무중단
- DNS
- 브라우저
- pm2
- workflow
- aws
- nginx
- https
- 이미지 최적화
- certbot
- gitgub actions
- 배포
- 리버스 프록시
- TLS
- 렌더링 과정
- tcp
- 인증서
Archives
- Today
- Total
개발일기
react-router-dom(v6) 함수 실행 시 이전 페이지로 이동 본문
내가 찾아본건 다음과 같다.
버튼을 클릭시 이전 페이지로 이동하는 것
react-router-dom의 useNavigate를 사용하여 navigate안에 인덱스 -1을 입력하면 뒤로가기 기능이 구현된다.
그래서 현재 진행중인 프로젝트에 사용해 봤다.
내가 진행중인 프로젝트는 어떤 함수를 실행하고 그 함수가 완료되었을 때 이전페이지로 이동 하도록 했다.
PointCharge.tsx
callback이라는 함수가 실행되고 결제가 완료되면(success) navigate(-1)를 사용하여 이전페이지로 이동하도록 했다.
안된다.
여기서 navigate(-1)을 사용하는건 뒤로가기 버튼에만 사용해야된다는 걸 알았다.
그래서 다른 방법을 생각해야 되는데 다른 방법을 한 3일은 고민한거 같다.
글을 작성하면서 느끼는 거지만 이걸 왜 3일을 고민했지,,,
방법은 다음과 같다.
navigate의 state값에 이전 주소를 넘겨준다.
MyPage.tsx
<S.PointCharging onClick={()=>navigate('/mypage/point-charge',{state:{prevPage:'/mypage'}})}>충전하기</S.PointCharging>
이동하려는 주소와 state값에 현재 주소를 입력해준다.
이후 이동한 페이지에서 useLocation을 사용하여 state값을 받고
PointCharge.tsx
navigate안에 넣어준다.
<button onClick={() => navigate('/mypage/point-charge', { state: { prevPage: `/group-buy/${id!}/order` } })}>충전하러 가기</button>
혹시라도 이전페이지의 주소에 위와같이 변수id값이 들어간다면 id값을 반드시 useParams를 사용하여 받아와야한다.
navigate의 state값으로 id데이터를 전달하여 useLotation을 사용하면 id값을 사용한다면 함수 실행 후에 이전페이지로 이동하면 데이터가 다 날아간다.
더 좋은 방법이 있다면 알려주시길,,,,
'TIL' 카테고리의 다른 글
useEffect 알아보기 (0) | 2024.03.11 |
---|---|
리액트의 useRef 기능 두가지 (0) | 2024.03.03 |
supabase 맛보기 (0) | 2023.08.17 |
react/typescript 이벤트 타입 (0) | 2023.07.31 |
타입스크립트 class 들어가기 전 자바스크립트 class 알아보기 (0) | 2023.07.26 |