我有点怀疑。如何根据映射中的元素数量将标记参数更改为marker1、marker2、marker3 ?
我有这个,但我想要的是对于地图的每个元素每个标记都有一个+1
{teams.map((team) =>
<pointer
marker={marker1}
例如,.map的第一个元素的参数为{marker1},第二个元素为{marker2},第三个元素为{marker3},依此类推
这取决于你想如何处理点击,但一般来说,在映射teams
数组时,你可以使用team
的index
。
关于.map()
的更多信息
的例子:
teams.map((team, index) => <pointer marker={`marker-${index + 1}`} />)
或者如果您希望将值直接传递给click事件:
teams.map((team, index) => (
<pointer onClick={() => handleClick(`marker-${index + 1}`)} />
))
在执行.map()
时,确保在映射组件上也设置唯一的key
。
希望这对你有帮助!
如果标记是一些变量,一个解决方案是您可以创建一个标记变量数组,如let markersArray = [marker1 , marker2 , ...]
,然后使用map方法中的索引来索引每个循环中的标记变量,如
{
teams.map((team,index) =>
<pointer
marker={markersArray[index]}
}
Let your array is
**const markersArray = [....]**
In jsx,
markersArray.map((team, index) => {
<pointer
marker={markersArray[index]}
})
你可以根据索引来识别对象。