我经常有麻烦已经迁移到世博会48与文件为基础的路由。当我添加一个简单的路由时,它通常不会被拾取。
我只是添加了profile
页面,这是从主标题。
当我导航时,我得到了一个错误:
“/(auth)/profile”处的导航器没有子级。
同一堆栈中的另一个屏幕results
工作正常。我把逻辑复制到配置文件中,所以我不确定有什么区别...
我的文件结构如下:
我的root布局是:
export default function Layout() {
return (
<AllProviders>
<Stack screenOptions={{ headerShown: false }} />
</AllProviders>
);
}
然后,我的(auth)
组布局现在更新为包括profile
屏幕:
<Stack
screenOptions={{
headerRight: () => (user ? <HeaderRight /> : undefined),
}}
>
<Stack.Screen
name="results"
options={{
presentation: 'modal',
}}
/>
<Stack.Screen
name="profile"
/>
</Stack>
HeaderRight
组件执行此操作以生成导航操作:
return (
<View
onPress={() => router.push('/profile')} // this is when the error is seen
/>
);
这不是配置文件流的一部分,但(tabs)
布局是:
export default function TabLayout() {
return (
<Tabs
screenOptions={{
title: '',
headerShown: false,
}}
>
<Tabs.Screen
name="index"
options={{
tabBarLabel: 'Search',
tabBarIcon: () => <Entypo name="magnifying-glass" size={24} />,
}}
/>
<Tabs.Screen name="other" />
</Tabs>
);
}
纵断面布局为:
export default function ProfilePage() {
return <Slot />;
}
剖面图为:
const Profile = () => {
const user = useAuth();
return <Typography>{user.user?.user_metadata.name}</Typography>;
};
1条答案
按热度按时间unhi4e5o1#
确保你
export default
一切是你的主要路线入口。