【发布时间】:2020-07-14 08:51:01
【问题描述】:
我有一个遍历数组的函数,获取所有标记数据,然后将它们放入 Map 组件中。 React 不断警告我每个孩子都应该有一把钥匙。 Leaflet 为每个标记生成额外的子级。我无法控制这些额外的孩子。
这是那段代码
{
this.state.markers.map((content, idx) => (
<>
<Marker
key={`marker-${idx}`}
icon={content["icon"]}
position={content["position"]}
>
<Popup
key={`popup-${idx}`}
closeButton={false}
className={styles.popup}
>
<span>{content["popupText"]}</span>
</Popup>
</Marker>
{content["radius"] && (
<Circle
key={`circle-${idx}`}
center={content["position"]}
radius={content["radius"]}
color={content["color"]}
></Circle>
)}
</>
));
}
标记数组由从 firebase 获取数据的函数生成。
firebase.firestore().collection('markers').get().then(async (snap) => {
snap.forEach((marker) => {
this.state.markers.push({
position: marker.data()['position'],
icon: this.state.icons[marker.data()['icon']][0],
color: this.state.icons[marker.data()['icon']][1],
popupText: marker.data()['popupText'],
radius: marker.data()['radius']
})
})
}
【问题讨论】:
标签: javascript reactjs leaflet