首页 > 解决方案 > React Nativigation 在 Android 键盘错误上导航

问题描述

我目前有一个带有一个主屏幕的反应原生应用程序,该应用程序导航到具有 3 个文本输入的第二个屏幕。我遇到的问题只发生在 Android 上。在第二个屏幕上,每当文本输入成为焦点并且我尝试通过反应导航的后退按钮向后导航时,键盘会隐藏,然后重新出现,然后隐藏,然后转换回第一个屏幕。似乎当我最初按下后退按钮时,输入焦点模糊了,然后当我放手时,它重新关注输入,然后再次模糊,然后导航回来。不知道为什么会在 Android 上发生这种情况。它在 iOS 上按预期工作。有什么解决办法吗?

谢谢!

标签: androidreact-nativekeyboardreact-navigation

解决方案


在此处输入图像描述

你一直在操纵keyboardHandlingEnabled道具吗?它可能与此有关。或者您可以使用本指南挂钩回压事件并首先模糊您的文本输入,如下所示。

function ScreenWithCustomBackBehavior() {
  // ...

  useFocusEffect(
    React.useCallback(() => {
      const onBackPress = () => {
        if (isSelectionModeEnabled()) {
          disableSelectionMode();
          return true;
        } else {
          return false;
        }
      };

      BackHandler.addEventListener('hardwareBackPress', onBackPress);

      return () =>
        BackHandler.removeEventListener('hardwareBackPress', onBackPress);
    }, [isSelectionModeEnabled, disableSelectionMode])
  );

  // ...
}

推荐阅读