[英]How do you map json in React?
我正在尝试使用 react 在表中显示以下 Json,但我不确定如何访问empresas 、 Bodega_Origen y Bodega_Destino 的 JsonArray 中的元素。
{
"Estado": 1,
"_id": "5e31ecf510ec6117387548a1",
"usuarios": "5e262750803c451ca4a27c36",
"empresas": {
"_id": "5e2f4c3ef80d8246f0e545d8",
"Nombre_Empresa": "ING. Y HER. S.A."
},
"Tipo_Documento": "AF",
"Numero_Documento": "1",
"Bodega_Origen": {
"_id": "5e2619ccbb29d71aa8455cad",
"Descripcion": "BODEGA PRINCIPAL"
},
"Bodega_Destino": {
"_id": "5e2629f110b9f32d10524ca5",
"Descripcion": "BODEGA Obra parma"
},
"Responsable": "Mauricio",
"Estado_Documento": "PR",
"Observaciones": "",
"Detalles": [],
"Fecha_Creacion": "2020-01-29T20:37:09.919Z"
}
以下是我用来获取数据并解析它的方法。 您当前正在正确浏览数据,但它没有显示 Bodega_Origen y la Bodega_Destino 中的数据。
loadData(){
var cont = 0;
console.log('Getting list');
const activeTab = this.state.activeTab;
const ids = this.ids;
const path = activeTab===0?'/empresa/list':'/articulo/list';
console.log(this.state.listQuery);
cont++;
console.log(cont)
return this.Requests.list(path, this.state.listQuery).then(response=>{
if(response && response.length !== 0){// El request no ha devuelto un arreglo vacio
let dt = response;
dt.map((el,i)=>{
let filterProperties = [];//Propiedades de interes
filterProperties[i] = {};//Inicializar el objeto para cada elemento del arreglo
ids[activeTab].forEach(key=>{
if(el[key]._id){
el[key] = el[key].nombre;
}
filterProperties[i][key] = el[key];
})
return filterProperties;
});
console.log(dt);
let stateData = this.state.data.slice();
stateData[activeTab] = dt.slice();
this.setState({data:stateData});
}else{
let stateData = this.state.data.slice();
stateData[activeTab] = [];
this.setState({data:stateData})
}
});
}
对象本身是不可迭代的。 你不能像 React 中的数组那样映射对象。 您可以尝试使用Object.entries(obj) ,然后遍历这些键、值对并获得您想要的。
要访问该 json 数据,您需要指定它:
data.empresas data.Bodega_Origen data.Bodega_Destino
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.