개발자의 공부방/모바일

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

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

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