重定向

编辑

学习如何在 Expo Router 中重定向 URL。


您可以根据某些应用内标准将请求重定向到不同的 URL。Expo Router 支持多种不同的重定向模式。

使用 Redirect 组件

您可以通过使用 Redirect 组件立即从某个特定屏幕重定向:

import { View, Text } from 'react-native'; import { Redirect } from 'expo-router'; export default function Page() { const { user } = useAuth(); if (!user) { return <Redirect href="/login" />; } return ( <View> <Text>Welcome Back!</Text> </View> ); }

使用 useRouter hook

您也可以通过 useRouter hook 进行命令式重定向:

import { Text } from 'react-native'; import { useRouter, useFocusEffect } from 'expo-router'; function MyScreen() { const router = useRouter(); useFocusEffect(() => { // 调用 replace 方法重定向到新路由,而不将其添加到历史记录中。 // 我们在 useFocusEffect 中这样做,以确保每次屏幕聚焦时都发生重定向。 router.replace('/profile/settings'); }); return <Text>My Screen</Text>; }