【问题标题】:How can I change the name of a parameter in an array.map?如何更改 array.map 中参数的名称?
【发布时间】:2022-11-20 02:47:30
【问题描述】:
我有点怀疑。如何根据地图中的元素数量将点击参数更改为 marker1、marker2、marker3?
我有这个,但我希望对于地图的每个元素,每个标记都有一个 +1
{teams.map((team) =>
<pointer
marker={marker1}
例如,.map 的第一个元素有参数 {marker1},第二个 {marker2},第三个 {marker3} 等等
【问题讨论】:
标签:
javascript
reactjs
arrays
array.prototype.map
【解决方案1】:
取决于您希望如何处理点击,但一般来说,您可以在映射 teams 数组时使用 team 的 index。
More about .map()
例子:
teams.map((team, index) => <pointer marker={`marker-${index + 1}`} />)
或者,如果您更愿意将值直接传递给点击事件:
teams.map((team, index) => (
<pointer onClick={() => handleClick(`marker-${index + 1}`)} />
))
【解决方案2】:
如果标记是一些变量,一个解决方案可以是你可以制作一个标记变量数组,如let markersArray = [marker1 , marker2 , ...],然后使用 map 方法中的索引来索引每个循环中的标记变量,如
{
teams.map((team,index) =>
<pointer
marker={markersArray[index]}
}