记录》使用队列排序生成TreeNode或其他组件,可以替代遍历和递归。提高生成的性能

`` const loopTitle = (data) =>
data.map((item, index) => {

    if (item.children && item.children.length) {
      return (
        <TreeNode
          // key={item.id}
          title={title}
          titleOnWritten={item.title}
          //   foldKey={item.isFolder}
          fkModuleId={item.fkModuleId}
          icon={item.icon}
          id={item.id}
          key={item.key}
          item={item.item}
          pkey={item.pkey}
          isDisplay={item.isDisplay}
        >
          {loopTitle(item.children)}
        </TreeNode>
      );
    }
    return (
      <TreeNode
        title={title}
        //   foldKey={item.isFolder}
        titleOnWritten={item.title}
        fkModuleId={item.fkModuleId}
        icon={item.icon}
        id={item.id}
        key={item.key}
        item={item.item}
        pkey={item.pkey}
        isDisplay={item.isDisplay}
        //   foldKey={item.isFolder}
      />
    );
  });

在这里插入代码片

  const LoopTitle = (data) => {
      const treeNodes = [];
      const queue = [...data];

      while (queue.length) {
        const item = queue.shift();
        const {
          title,
          isDisplay,
          fkModuleId,
          icon,
          children,
          id,
          key,
          pkey,
        } = item;

 
        const node = (
          <TreeNode
            title={title}
            fkModuleId={fkModuleId}
            icon={icon}
            id={id}
            key={key}
            item={item}
            pkey={pkey}
            isDisplay={isDisplay}
          >
            {LoopTitle(children)}
          </TreeNode>
        );
        treeNodes.push(node);
      }

      return treeNodes;
    };
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值