Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

445
Vistas
Texto mecanografiado: obtener `reemplazar` de useNavigation() en react-navigation con react-native v6

Esta pregunta se parece a esto : ¿cómo usar navigation.replace en TypeScript? que es para reaccionar-navegación 5.

También leí los documentos https://reactnavigation.org/docs/typescript/#annotating-usenavigation

Intenté un par de formas diferentes, pero me confundí más 🙃.

 import { BottomTabScreenProps } from '@react-navigation/bottom-tabs' import { CompositeScreenProps, NavigatorScreenParams } from '@react-navigation/native' import { NativeStackScreenProps } from '@react-navigation/native-stack' import { AxiosError } from 'axios' declare global { namespace ReactNavigation { interface RootParamList extends RootStackParamList {} } } export type RootStackParamList = { SignIn: undefined ResetPassword: { email?: string } | undefined Root: NavigatorScreenParams<RootTabParamList> | undefined Modal: undefined Error: { error?: AxiosError | null } | undefined DevToolsSignIn: undefined } export type RootTabParamList = { Overview: undefined Returns: undefined Portfolio: undefined More: undefined } export type RouteName = keyof RootStackParamList | keyof RootTabParamList export const routeTypeGuard = (route: RouteName) => route as keyof RootStackParamList export type RootStackScreenProps<Screen extends keyof RootStackParamList> = NativeStackScreenProps< RootStackParamList, Screen > export type RootTabScreenProps<Screen extends keyof RootTabParamList> = CompositeScreenProps< BottomTabScreenProps<RootTabParamList, Screen>, NativeStackScreenProps<RootStackParamList> >

luego, en un componente, deseo decirle a mecanografiado que debería poder destruir replace desde useNavigation()

 export default ({ route }: RootStackScreenProps<'ResetPassword'>) => { const { replace } = useNavigation<?🙃?>() const email = route.params?.email if (!email) replace('Error') return ( <ScreenContainer> <Text style={{ color: 'hotpink' }}>{email}</Text> </ScreenContainer> ) }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

esto parece hacer el truco

 const { navigate, replace } = useNavigation<NativeStackNavigationProp<RootStackParamList>>()

que me permite hacer cosas como:

 replace('Root')

sin problemas de TS.

Mi malentendido fue que el reemplazo no puede reemplazar a ninguna pantalla que desee; solo puede reemplazar a cualquier pantalla dentro de la navegación en la que se encuentra.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda