在我使用expo-router
的Expo应用中,应该有3个屏幕:
Home
Settings
User
和两个制表符
Home
Settings
这是我当前的文件结构
app
├── (main)
│ ├── _layout.js
│ ├── home.js
│ ├── settings.js
│ └── user.js
我可以在_layout.js
中配置选项卡导航器,以仅显示2个所需的选项卡。
在Settings
屏幕上有一个按钮,可以将您带到router.push('/user')
屏幕的User
屏幕。
问题:
- 单击此按钮,没有滑动页面过渡/动画,
User
屏幕从屏幕右侧滑动 - 在
User
屏幕的标题上没有返回按钮,将您带回上一个屏幕Settings
。默认情况下应该为您创建后退按钮吗?
如何配置导航器/布局来实现这一点?
谢谢
layout.js
import { Tabs, useRouter } from "expo-router";
import { SafeAreaProvider } from "react-native-safe-area-context";
export default function Layout() {
const router = useRouter();
return (
<SafeAreaProvider>
<Tabs>
<Tabs.Screen
name="home"
options={{ headerShown: false }}
/>
<Tabs.Screen
name="settings"
options={{ title: "Settings" }}
/>
<Tabs.Screen
name="user"
options={{
title: "User",
href: null,
tabBarStyle: { display: "none" },
}}
/>
</Tabs>
</SafeAreaProvider>
);
}
你应该在_layout.jsx
!!!JSX!!!
的<Stack></Stack>
组件上设置screenOptions={{animation: "none", headerShown: true}}