我正在尝试使用 expo-router 修改我的路由,其中使用 router.push('/item/[id]')
可以多次导航到相同的路线。但是,当我导航
back()
时,它会返回到堆栈顶部,而不是从 item/2
到 item/1
有什么想法吗?
目录:
item
|__: _layout.tsx
|__: [id].tsx
item/_layout.tsx:
<Stack>
<Stack.Screen name="[id]" />
</Stack>
在
item
组件内部,有一个
onPress
事件被捕获,如下所示:const handlePress = (label: string) => {
router.push({
pathname: `/pattern/[id]`, // I have also tried `/pattern/${label}`
params: { id: label, from: from },
});
};
后退按钮是:
<Pressable
onPress={router.back}
>
<Icon />
</Pressable>
<Pressable
onPress={ ()=> router.back() }
>
<Icon />
</Pressable>