
props로 받는 방식type Props = {
navigation: RootNavigationProp<'Login'>;
};
const LoginScreen: React.FC<Props> = ({ navigation }) => {
return (
<Button title="Go Main" onPress={() => navigation.navigate('Main')} />
);
};
✅ 장점
navigation, route를 props로 받는 게 React Navigation의 원래 설계❌ 단점
useNavigation() 훅 사용const LoginButton = () => {
const navigation = useNavigation<RootNavigationProp<'Login'>>();
return (
<Button title="Go Main" onPress={() => navigation.navigate('Main')} />
);
};
✅ 장점
❌ 단점
any가 되어버림 → 항상 제네릭 필요props 방식 권장 ({ navigation, route }) 이유: 네비게이션이 있는 게 당연하고, 타입 안전성이 높음useNavigation() 사용 이유: props로 navigation 계속 내려주면 번거롭고, UI가 네비게이션 의존하는지 안 보이는 게 더 깔끔할 때가 많음