리액트로 mbti게임을 만들었다 (하이브리드 웹/앱)
기획&설계팀의 부족함으로 브라우저 back버튼 설계와 개발할 때 back버튼의 history가 다른 이슈가 발생하여 꽤나 번거로운 수정작업을 진행했었다.
그 와중에 mbti게임 부분의 back 관련 이슈를 내가 수정하게되었다.
어느정도 담당하고 있기도 했었으니!
params로 url도 분리하고 시작화면, 실제 게임 진행화면, 결과 화면 등등 문제없이 되는 듯 하였으나 back관련하여 해결되지 않는 문제가 있었고 끝끝내 해결할 방안으로
간단했다.
// 직전 주소 가져오기
const [prevUrl, setPrevUrl] = useState('')
useEffect(()=>{
if(document.referrer){
const referrerURL = new URL(document.referrer);
setPrevUrl(referrerURL.pathname.replace('/',''));
}
},[id, navigate])
const options: any = {
showMainIcon: 'back',
handleMainIcon: ()=>{
// console.log(prevUrl);
if(prevUrl === `${PATH_ROOT.contents.mbti + '/' + mbtiStore.mbti.mbtiSid + '/start'}` || `${PATH_ROOT.contents}`){
navigate(-3)
} else {
navigate(-1)}
},
showHomeIcon: true,
showCartIcon: true,
};
끄읏..! 앞으로도 화이팅..! TIL이 많고 뿌듯해서 기록!