may21


递归渲染侧边栏
  const renderNavItem = (item: NavItem) => {
    if (item?.children?.length !== 0) {
      return (
        <SubNav key={item?.key} label={text(item)} selectable>
          {item.children.map(ele => {
            return renderNavItem(ele);
          })}
        </SubNav>
      );
    }

    return <Item key={item?.key}>{text(item)}</Item>;
  };

  {menuTreeList.map(ele => {
    return renderNavItem(ele);
  })}
递归查找id并组合其所属所有上层路径数组
  const findUrlPath = useCallback((list?: any[], key?: string, chooseList: any[] = []): any[] => {
    for (const ele of list || []) {
      if (ele?.id == key) {
        return [...chooseList, ele];
      } else if (ele?.children) {
        const result = findUrlPath(ele.children, key, [...chooseList, ele]);
        if (result.length > 0) {
          return result;
        }
      }
    }
    return [];
  }, [])
  const pathUrl = useMemo(() => findUrlPath(context?.config?.menus, pageId), [context?.config?.menus, pageId, findUrlPath])
关于样式
之前一直比较轻视样式

在最近的工作以及面试当中,

体会到样式的重要性,

熟练的样式,

同样可以节省很多查找和试错的时间,

因此学好样式是必要的!
工作总结
不能因为对自己的代码太自信、因为需求简单,

写完就不去验证,

导致了一些细小的样式上、判断上的失误,

因此写完一定要验证!

文章作者: KarlFranz
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 reprint policy. If reproduced, please indicate source KarlFranz !
评论
  目录