Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

302
Visualizações
No se puede actualizar un componente (`ForwardRef(BaseNavigationContainer)`) mientras se renderiza un componente diferente (`Home_Profile`)

Recibo este error al intentar navegar entre pantallas con el navegador de pila nativa de reacción. Creo que esto estaba funcionando en mi proyecto anterior que tenía react 17.0.1 y react native 0.64.2, este proyecto es react 17.0.2 y react native 0.66.4, se agradecería la ayuda.

Iniciar sesión

 Warning: Cannot update a component (`ForwardRef(BaseNavigationContainer)`) while rendering a different component (`Home_Profile`). To locate the bad setState() call inside `Home_Profile`, follow the stack trace as described in https://reactjs.org/link/setstate-in-render

aparece un error cuando trato de llamar a la navegación en un accesorio onPress en un componente de elemento de representación Flatlist.

 renderItem={({ item }) => ( <View style={{ backgroundColor: "#f6f6f6" }}> <PostCard item={item} onPress={() => navigation.navigate("Home_Profile")} /> </View> )}
 const PostCard = ({ item, onPress }) => { React.useEffect(() => { async function fetchUserData() { const data = await getUserData(item.userid); setProfileimg(data.userimg); setName(data.name); setLocation(data.location); } fetchUserData(); }, []); return ( <TouchableOpacity onPress={onPress}> <Text style={{ color: "#231454", fontWeight: "bold", fontSize: 15, marginBottom: 3, }} > {name} </Text> </TouchableOpacity> ) }; export default PostCard;

Inicio_Perfil

 import React from "react"; import { View, Text, Button } from "react-native"; const Home_Profile = ({ navigation }) => { return ( <View style={{ flex: 1, justifyContent: "center", alignItems: "center" }}> <Text>Home_Profile.js</Text> <Button title="back" onPress={navigation.navigate("Home")} /> </View> ); }; export default Home_Profile;
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Encontré la causa del problema, cuando renderizas la segunda pantalla, está ejecutando el método onPress del botón que vuelve a casa, y esa navegación hace que se ejecute el método de renderizado en esa pantalla de inicio, lo que significa que estás intentando ejecutar dos renderizados al mismo tiempo, para arreglar eso, simplemente agregue una función de flecha a la función de navegación de inicio como se muestra a continuación:

 onPress={()=>{navigation.navigate("Home")}}
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda