Javascript 数组未填充/map()右反应
我试图映射一个数组,但我认为它填充错误,因为它为我添加的内容提供了Javascript 数组未填充/map()右反应,javascript,arrays,reactjs,leaflet,Javascript,Arrays,Reactjs,Leaflet,我试图映射一个数组,但我认为它填充错误,因为它为我添加的内容提供了undefined,但由于某些原因,它们被显示为undefined 如果您查看顶部,它在顶部是一个单独的数组,如果我尝试使用.map() 此图片来自以下控制台日志: {RuuviTag.map((tag) => ( <div key={tag.MAC}> {console.log(tag.MAC),
undefined
,但由于某些原因,它们被显示为undefined
如果您查看顶部,它在顶部是一个单独的数组,如果我尝试使用.map()
此图片来自以下控制台日志:
{RuuviTag.map((tag) => (
<div key={tag.MAC}>
{console.log(tag.MAC),
console.log(tag)
}
<Marker position={[tag.Latitude.replace(/,/g, '.'), tag.Longitude.replace(/,/g, '.')]} icon={new Icon({
iconUrl: tag.colorIcon,
iconSize: [25, 41],
iconAnchor: [12, 41] })} >
<Popup>
<h1>{tag.MAC}
</h1>
<h1>
</h1>
</Popup>
</Marker>
</div>
))}\
但是当我试图从解密的数据映射颜色图标或其他东西时,它会显示为未定义
有人知道如何解决这个问题吗?我在任何地方都找不到此问题您应该在完成异步函数后推送项
像这样
let item = doc.data()
Promise.all([
PostRawData(doc.data().RawData),
checkBoundaries(doc.data().RawData),
]).then(function (result) {
item.decryptedData = result[0].data;
item.colorIcon = result[1]
items.push(item)
})
您使用的是promise语法。然后,但您将其视为同步。如果你想把它当作同步代码来对待,你需要等待这些东西。看看异步代码在事件循环中是如何处理的,这是否回答了您的问题?我在=>tokenOh上遇到了一个解析错误,我将在不使用arrow函数表达式的情况下进行更新。
let item = doc.data()
Promise.all([
PostRawData(doc.data().RawData),
checkBoundaries(doc.data().RawData),
]).then(function (result) {
item.decryptedData = result[0].data;
item.colorIcon = result[1]
items.push(item)
})