如何在ReactDom遍历后插入分隔符

开发了一年的React,一直有一个问题困扰着我,我们都知道React支持数组map返回ReactDom进行遍历渲染,但是如果我希望在每个ReactDom中间插入一个分隔符,如何操作呢?首先想到到是用Array.join方法,不过join方法后返回到是一个字符串,这样React就办法正常渲染了。那么有什么其他方法呢?以下案例是一个表格的操作列,有很多操作按钮,目标是渲染所有按钮并且每个按钮中间用一个分隔符(Divider)来分隔。

btns => {
    // 遍历数组生成一个ReactDom数组
    btns = btns.map((it, idx) => (<Button key={idx}>{it.name}</Button>));

    // 遍历数组插入分隔符 Divider为antd里的组件
    for (let i = btns.length - 1; i > 0; i--) {
	    btns.splice(i, 0, <Divider type="vertical" />);
    }
    return btns;
}

请注意,一定是从后往前遍历,因为从前遍历的话,要插入的索引位会放生变化,因此逻辑比较复杂。
从后面往前遍历,那么前面元素的索引位不会发生变化,因此大大降低了逻辑复杂程度。

以上方案仅供参考,有更好的方案请留言探讨。

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值