Lo que estoy tratando de hacer es después de un nombre de campo, quiero mostrar su tipo, que está en otro estado, como puede ver:
mi código:
const FormScreen = ({route}) => { const [FieldForm, setFieldForm] = useState([]); const [TypeForm, setTypeForm] = useState([]); useEffect(() => { if (userForm.length > 0) { return; } else { setFieldForm(JSON.parse(route.params.paramKey).fields); setTypeForm(JSON.parse(route.params.paramKey).type); console.log(FieldForm,TypeForm); // returns me: {"message":["ab","test"],"tipo":["Date","Text"]} } },[userForm,TypeForm]); return ( <SafeAreaView style={{flex: 1}}> <View> <Text>COLLECTION :</Text> {FieldForm.length > 0 ? ( FieldForm.map((item) => ( <Text key={uuid.v4()}>{item}</Text> //Here I want to to map which type is the field(to use conditionals to render) but how can I make it? )) ) : ( <Text key={uuid.v4()}> Loading ...</Text> )} </View> </SafeAreaView> ); };¿Cómo puedo usar un mapa dentro de un mapa para hacerlo, o crear una llamada api para devolver el tipo de los campos?
Definitivamente puedes anidar las funciones del map :
const FormScreen = ({route}) => { const [FieldForm, setFieldForm] = useState([]); const [TypeForm, setTypeForm] = useState([]); useEffect(() => { if (userForm.length > 0) { return; } else { setFieldForm(JSON.parse(route.params.paramKey).fields); setTypeForm(JSON.parse(route.params.paramKey).type); console.log(FieldForm,TypeForm); // returns me: {"message":["ab","test"],"tipo":["Date","Text"]} } },[userForm,TypeForm]); return ( <SafeAreaView style={{flex: 1}}> <View> <Text>COLLECTION :</Text> {FieldForm.length > 0 ? ( FieldForm.map((item) => ( <> <Text key={uuid.v4()}>{item}</Text> <> {TypeForm.length && TypeForm.map((type) => ( // Return node )) || null}; </> </> )) ) : ( <Text key={uuid.v4()}> Loading ...</Text> )} </View> </SafeAreaView> ); };