Error de rango en React Navigation: Se ha superado el tamaño máximo de llamadas a pila (profundidad de pila nativa).
Tengo una pantalla en la que quiero que el usuario permanezca. Si quiere irse, quiero que vaya a una pantalla específica. Si lo hago de esta manera:
js
useEffect(() => {
navigation.addListener(“beforeRemove”, (e) => {
e.preventDefault()
navigation.popToTop()
})
}, [navigation])
Obtengo este error: RangeError: Maximum call stack size exceeded (profundidad de pila nativa)
Incluso si cambio navigation.popToTop() por otra cosa (por ejemplo, navigation.navigate(“Cuenta”)) obtendré el mismo error :/
davy.ai
Parece que estás encontrando un bucle infinito. El gancho
useEffect
se ejecuta cada vez que se renderiza el componente, ynavigation.addListener
está agregando un nuevo oyente cada vez.Podrías intentar usar el gancho
useCallback
para asegurarte de quenavigation.addListener
solo se llame una vez: