Expo React-Native Web 浏览器后退按钮

问题描述 投票:0回答:1

我正在考虑使用 React-Native 和 Expo 来构建一个 Web 应用程序。我遇到的唯一真正问题是允许使用浏览器后退按钮。我目前正在使用

@react-navigation/native
在屏幕之间导航。

不幸的是,当更改屏幕时,浏览器似乎不会将此注册为页面更改,因此浏览器后退按钮永远不会起作用。我当然可以使用应用程序中使用的标准后退按钮来向后导航,但我希望人们能够使用浏览器后退按钮,因为这更直观。我在 App.js 中使用以下内容:

import { NavigationContainer } from '@react-navigation/native';
import { createNativeStackNavigator } from '@react-navigation/native-stack';

const Stack = createNativeStackNavigator();

const App = () => {
...
return (
<NavigationContainer>
  <Stack.Navigator>
    <Stack.Screen
      name="Home"
      component={HomeScreen}
      options={{ headerShown: false }}
    />
    <Stack.Screen
      name="Settings"
      component={SettingsScreen}
      options={{ headerShown: false }}
    />
  </Stack.Navigator>
</NavigationContainer>
)
};

export default () => {
  return (
    <App />
  );
};

那么,是否可以使用 Expo 和 React-Native 来允许为网络构建的应用程序使用浏览器后退按钮?

react-native navigation expo
1个回答
0
投票

Expo Router 将是解决方案。它适用于本机和网络。

Expo Router 使用“链接”在应用程序的页面之间移动。默认情况下,链接将路由“推送”到导航堆栈上。它遵循与 navigation.navigate() 相同的规则。这意味着当用户返回时,前一个屏幕将可用。

© www.soinside.com 2019 - 2024. All rights reserved.