为什么要判断displayname的方式渲染啊

来源:6-7 功能继续升级 - SubMenu 下拉菜单编码第一部分

KK1592

2020-06-06

要判断的项目越来越多,手打string还容易出错,既然有了interface 那么有没有办法判断是否实现了interface来渲染呢?

写回答

3回答

张轩

2020-06-08

同学你好 判断子组件的类型一般采用 displayName 的方法。为了避免出错可以导入 MenuItem组件,上面有 displayName 属性可以避免手打出错。

import MenuItem, { MenuItemProps } from './menuItem'
if (displayName ===  MenuItem.displayName) {

}


1
1
KK1592
非常感谢!
2020-06-10
共1条回复

张轩

2020-06-08

同学你好 判断子组件类型一般采用displayName的方法,一些大的框架都是这么做的。可以导入MenuItem 模块,上面有静态的 displayName 属性,用属性判断,可以防止手打出错。

0
0

菜鸟x

2020-06-07

你是说renderChild方法里面的判断吗。因为它需要判断里menu里面的子组件是不是subMenu或者menuItem。 因为你不能保证用户不手贱啊,用户在menu里面传其他东西,那不就出错了吗?后面那句判断是否实现了interface渲染不明白你说什么

0
1
KK1592
不明白就不要乱回答啊
2020-06-07
共1条回复

React18+TS高仿AntD从零到一打造组件库

设计,开发,测试,发布再到 CI/CD,从0到1造轮子

2123 学习 · 959 问题

查看课程