react-native 安卓回退和侧滑监听

2023-10-30  本文已影响0人  Biao_349d

import { BackHandler } from 'react-native'
import { ExitApp } from '../libs/app'

export const backHandler = (navigation: any, callback?: Function) => {
  const backAction = () => {
    const isBack = callback && callback()
    if (callback && isBack) {
      return false
    }
    if (navigation && navigation.canGoBack()) {
      navigation.goBack()
    } else {
      ExitApp()
      setTimeout(() => {
        // navigation && navigation.replace('Root')
      }, 400)
    }

    return true
  }

  const backEvent = BackHandler.addEventListener('hardwareBackPress', backAction)

  return () => {
    backEvent.remove()
  }
}

上一篇 下一篇

猜你喜欢

热点阅读