是否有从 map() 箭头函数中删除第一个参数的语法?
Is There a Syntax to Remove the First Parameter from a map() Arrow Function?
有没有办法让map()
中的第一个参数n
为空?我正在创建 CSS 个形状,所以我只需要第二个。
谢谢!
const Star = () => {
return (
<div id='Star'>
{[...Array(3)].map((n, i) => <span style={{transform: `rotate(${i * 50}deg)`}}/>)}
</div>
)
}
ReactDOM.render(
<Star/>,
document.getElementById("root")
);
#Star {
position: fixed;
left: 50%;
top: 50%;
}
#Star span {
background: green;
width: 20px;
height: 20px;
display: block;
position: absolute;
}
<div id="root"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
据我所知,没有真正干净的方法。我能想到的选项很少:
- 正在将未使用的 arg 声明为
_
。在这种情况下,_
变量仍将被初始化,所以好处只是视觉上的。
[...Array(3)].map((_, i) => <span style={{transform: `rotate(${i * 50}deg)`}}/>)
- 使用剩余参数
[...Array(3)].map((...params) => <span style={{transform: `rotate(${params[1] * 50}deg)`}}/>)
也可以写成内联,这可能有点混乱。
[...Array(3)].map((...[,i]) => <span style={{transform: `rotate(${i * 50}deg)`}}/>)
有没有办法让map()
中的第一个参数n
为空?我正在创建 CSS 个形状,所以我只需要第二个。
谢谢!
const Star = () => {
return (
<div id='Star'>
{[...Array(3)].map((n, i) => <span style={{transform: `rotate(${i * 50}deg)`}}/>)}
</div>
)
}
ReactDOM.render(
<Star/>,
document.getElementById("root")
);
#Star {
position: fixed;
left: 50%;
top: 50%;
}
#Star span {
background: green;
width: 20px;
height: 20px;
display: block;
position: absolute;
}
<div id="root"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
据我所知,没有真正干净的方法。我能想到的选项很少:
- 正在将未使用的 arg 声明为
_
。在这种情况下,_
变量仍将被初始化,所以好处只是视觉上的。
[...Array(3)].map((_, i) => <span style={{transform: `rotate(${i * 50}deg)`}}/>)
- 使用剩余参数
[...Array(3)].map((...params) => <span style={{transform: `rotate(${params[1] * 50}deg)`}}/>)
也可以写成内联,这可能有点混乱。
[...Array(3)].map((...[,i]) => <span style={{transform: `rotate(${i * 50}deg)`}}/>)