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

197
Visualizações
¿Cómo resolver undefined no es una función (cerca de '... userForm.map...')?

Estoy tratando de renderizar algunas cadenas, pero recibo un error, ¿alguien sabe cómo resolverlo?

código:

 const FormScreen = ({route}) => { const [userForm, setuserForm] = useState([]); useEffect(() => { if (userForm.length > 0) { console.log('userform',userForm,userForm.length); // not get inside here gives me a eror before it return } else{ setuserForm(route.params.paramKey); console.log('TEST',userForm,'LENG',userForm.length)} // returns => TEST [] LENG 0 },[userForm]) return ( <SafeAreaView style={{flex: 1}}> <View style={styles.container}> <Text style={styles.textStyle}>COLLECTION :</Text> {userForm.length > 0 ? ( userForm.map((item) => ( <Text key={uuid.v4()}>{item.fields}</Text> )) ) : ( <Text key={uuid.v4()}> Loading ... </Text> )} {..}

route.params.paramKey es una cadena

route.params.paramKey cadena es = {"objeto":"CLMobj_test","fields":["abcs","test"],"type":["Date","Text"]}

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Dado que route.params.paramKey es una cadena, no puede llamar al map directamente. Si desea seguir adelante con este enfoque, puede hacer algo como esto:

 setuserForm([...route.params.paramKey]);

EDITAR: después de agregar

 route.params.paramKey = {"objeto":"CLMobj_test","fields":["abcs","test"],"type":["Date","Text"]}

solo puedes configurar

 setuserForm(JSON.parse(route.params.paramKey).fields)

y usa el mapa en él

 {userForm.length > 0 ? (userForm.map((item) => <Text key={uuid.v4()}>{item}</Text>): (<Text key={uuid.v4()}> Loading ... </Text>) }
about 4 years ago · Juan Pablo Isaza Relatório

0

¿Puedes probar con este código? Ten en cuenta que he cambiado la condición "Usar efecto", y JSX también:

 const FormScreen = ({route}) => { const [userForm, setuserForm] = useState([]); useEffect(() => { setuserForm(JSON.parse(route.params.paramKey)); },[]) return ( <SafeAreaView style={{flex: 1}}> <View style={styles.container}> <Text style={styles.textStyle}>COLLECTION :</Text> {!!userForm && userForm.fields.length > 0 ? ( userForm.fields.map((item) => ( <Text key={uuid.v4()}>{item}</Text> )) ) : ( <Text key={uuid.v4()}> Loading ... </Text> )}
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