개발자의 공부방/모바일

RN] react-navigation의 navigate의 action을 이용해 이동하자.

  • -
728x90
반응형
onBackAction = () => { this.moveScreen('Settings'); } ... <Item title={i18n.t('Signin:myWalletAddressCheck')} children={REF_ICON} onPress={() => { if(emailState === KYC_STATE_DONE && selfState === KYC_STATE_DONE && additionalState === '2') { // navigation.navigate('ConfirmRegistration') navigation.navigate('ConfirmAppPin', { pinProps: { description: i18n.t('Pincode:confirm'), // biomatrics: false }, cb: async () => { navigation.navigate('ConfirmRegistration', { action: this.onBackAction() // * 물리적으로 백버튼을 누르면 MyPage(Settings:MeScreen) 으로 이동된다. }) } }); } else { this.showMyProccessWalletDialog = true } } } />

 

RN의 코드에서 물리 백버튼을 이용해서 페이지 이동을 하는 경우가 있다.

물리백버튼은 BackHandler을 이용해야하는 줄 알았는데 잘못알고 있었다.

 

모바일은 Stack으로 쌓이는데 이 개념을 뒤늦게 알았다.

1, 2, 3 이 순차적으로 쌓이는 과정에서 3에서 전혀 쌩뚱맞은 9로 가려고 하면 안되고 2에서 9로 가게끔하는 경우는 된다. 이유는 2 -> 3을 가게했으니깐 Stack의 주권은 2에 있기 때문에?...

 

뭐라는건지 모르겠다... 어쨌든 navigate의 action 속성을 이용해서 물리백버튼을 handling을 했다.

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.