No encuentro una manera de resolver este error en mi función de mapa anidado, todo lo que intento termina en un error de sintaxis.
Mi código:
{import codes....} const FormScreen = ({route}) => { const [FieldForm, setFieldForm] = useState([]); const [TypeForm, setTypeForm] = useState([]); useEffect(() => { if (FieldForm.length > 0) { return; } else { setFieldForm(JSON.parse(route.params.paramKey).message); setTypeForm(JSON.parse(route.params.paramKey).tipo); console.log('SETINGGG',FieldForm,TypeForm); } },[FieldForm,TypeForm]); return (<View> {FieldForm.length > 0 ? ( FieldForm.map((item) => ( <> <Text>{`${JSON.stringify(item)}`}</Text> <> {TypeForm.map((type) => ( <Text>{`${JSON.stringify(type)}`}</Text> ))} </> </> )) ) : ( <Text key={uuid.v4()}> Loading ...</Text> )} </View>Traté de eliminar estos componentes pero no funcionó, ¿cómo puedo hacer que funcione?
{TypeForm.map((type) => ( <Text>{`${JSON.stringify(type)}`}</Text> ))}; // remove this ; (dot and comma)Podría utilizar una cadena de plantilla como {`${type}`}
Creo que terminará con [Object] como cuerpo del texto, pero ese es un buen punto de partida para comenzar a obtener los valores que desea.
Editar: Los ` se llaman acentos graves y se usan para crear template strings o string literals . En lugar de usar comillas dobles para representar un valor de cadena, usamos estas. Las cadenas de plantilla pueden tener valores de objetos anidados dentro de ellas e imprimir su representación de cadena. Si es solo un objeto JSON que está tratando de imprimir en la cadena de plantilla, terminará imprimiendo [Object] . Eso le dirá que en realidad no está imprimiendo el valor del objeto que desea, y probablemente esté type.value , pero para encontrar la clave/valor del objeto que puede estar buscando, podría intente algo como <Text>{`${JSON.stringify(type)}`}</Text> .