estos son mis datos
[{"size":"Small","price":"90"},{"size":"Large","price":"180"},{"size":"Extra Large","price":"200"}]y este es mi codigo
const route = useRoute(); const [datas, setDatas] = useState([]); useEffect(() => { setDatas(route.params.item_sizes); },[]) const ItemSizes = () => { if(datas.length > 0) { console.log("Item size data: ", datas); //for debugging purposes return( <View> {datas.map((data,key) => ( <View key={key}> <View style={{flex:0.2}}> <MaterialCommunityIcons name={"radiobox-blank"} size={20} color={'gray'}/> {/* <Text style={{fontSize:16, fontWeight:'bold'}}>Icon</Text> */} </View> <View style={{flex:1}}> <Text style={{fontSize:16, fontWeight:'bold'}}>{data.size}</Text> </View> <View style={{flex:1, flexDirection:'row-reverse'}}> <Text style={{fontSize:16, fontWeight:'bold'}}>{data.price}</Text> </View> </View> ))} </View> ) } }Lo llamo desde mi punto de vista así
return ( <View> {ItemSizes()} </View> ) Entonces, después de verificar que hay datos sobre datas , ¿por qué no están definidos? Explique por qué me devuelve indefinido a pesar de que hay datos. Gracias
Compruebe si los datos que está configurando son una matriz o una cadena. Si es una cadena, configúralo como se muestra a continuación analizando
setData(JSON.parse(route.params.item_sizes));