오랜만에 Expo 로 React native앱을 만드니 이런 엄청난게 개발되어 있었다. 간단하게 살펴보자


// app/blog/[slug].tsx 일때,
import { useLocalSearchParams } from 'expo-router';
...
const { slug } = useLocalSearchParams();
return <Text>Blog post: {slug}</Text>;
<Link href="/user/bacon">View user</Link>
<Link
href={{
pathname: '/user/[id]',
params: { id: 'bacon' }
}}>
View user
</Link>
import { router } from 'expo-router';
export function logout() {
router.replace('/login');
}
import { Slot } from 'expo-router';
export default function HomeLayout() {
return <Slot />;
}

import { View, Text } from 'react-native';
import { type ErrorBoundaryProps } from 'expo-router';
export function ErrorBoundary({ error, retry }: ErrorBoundaryProps) {
return (
<View style={{ flex: 1, backgroundColor: "red" }}>
<Text>{error.message}</Text>
<Text onPress={retry}>Try Again?</Text>
</View>
);
}
export default function Page() { ... }