【问题标题】:How to handle a back button in a screen that has a tab navigator React Native如何在具有选项卡导航器 React Native 的屏幕中处理后退按钮
【发布时间】:2020-07-25 02:21:22
【问题描述】:

所以我有一个应用程序的通用抽屉菜单,并且在其中一个屏幕中有一个选项卡导航器。我正在尝试处理后退按钮,因为它会引发没有屏幕可返回的错误。我在 React Navigation 的文档中看到您将 useFocusEffect 与 React.useCallback 一起使用,但是当我尝试它时,它给了我一个 undefined is not a function (near 0, _react,useFocusEffect) 错误。

这是我使用的代码:

export default function BudgetScreen({ navigation }) {

  useFocusEffect(
    React.useCallback(() => {
      const handleBackButton = () => {
        navigation.goBack()
        return true;
      }

      BackHandler.addEventListener('hardwareBackPress', handleBackButton);

      return () =>
        BackHandler.removeEventListener('hardwareBackPress', handleBackButton);
    }, [])
  );

【问题讨论】:

    标签: react-native react-navigation


    【解决方案1】:

    你需要像这样导入useFocusEffect

    import { useFocusEffect } from '@react-navigation/native';
    

    【讨论】:

    • 我做到了,我只是没有在代码中复制我的导入
    猜你喜欢
    • 2020-07-30
    • 2020-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多