是否存在可省略map()箭头函数第一个参数的语法?
解答
在JavaScript开发的通用约定中,你可以直接用单下划线 _ 作为不需要使用的参数的占位符,你提供的代码可以修改为以下形式:
const Star = () => { return ( <div id='Star'> {[...Array(3)].map((_, i) => <span style={{transform: `rotate(${i * 50}deg)`}}/>)} </div> ) } ReactDOM.render( <Star/>, document.getElementById("root") );
补充说明
- 该写法是行业通用惯例,其他开发者阅读代码时可以立刻识别出
_是无意义的占位参数 - 如果你的项目开启了ESLint等代码校验工具,出现未使用参数的报错提示,可以选择在校验规则中添加允许
_作为未使用参数的例外配置,也可以将占位符写为_n这类带下划线前缀的命名来规避报错 - 你当前的场景只是需要固定次数的循环来生成对应数量的span元素,不需要用到数组元素的值,这种占位写法完全符合使用规范
附上完整的示例代码:
#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>
内容的提问来源于stack exchange,提问作者user13084463
相关产品推荐
相关产品推荐

