lowcode-engine
lowcode-engine copied to clipboard
关于prop-types
在lowcode-tools项目中发现某处的props项写法如下图
代码检查时会报错
然后我看了一下lowcode-types那边关于prop-types的源码,复合类型的type只有以下几种
请问这里的instanceOf,对应的是哪种复合类型?还是说只是想使用IPublicTypeBasicType中的node这种基本类型? 不报错的写法应该是怎样的?
通过 PR 添加了 IPublicTypeInstanceOf 的类型定义。
lowcode-tools 的部分定义的确存在问题。
{
name: 'children',
propType: {
type: 'instanceOf',
value: 'node',
},
description: '面包屑子节点,需传入 Breadcrumb.Item',
}
- propType 的 value 被设置为 'node',这在 PropTypes.instanceOf 的上下文中不适用,因为 'node' 不是一个类或构造函数。
- PropTypes.node 适用于验证可以渲染的内容,但不适用于 instanceOf 的类型检查。
代码应修改为以下形式,以确保 children prop 的类型正确定义:
{
name: 'children',
propType: {
type: 'instanceOf',
value: 'Breadcrumb.Item',
},
description: '面包屑子节点,需传入 Breadcrumb.Item',
}
- 修改后,PropTypes.instanceOf(Breadcrumb.Item) 表明 props.children 应是 Breadcrumb.Item 的实例。
- 这种类型检查更精确,确保 children prop 仅接受 Breadcrumb.Item 组件,保证面包屑组件的正确功能和渲染。
@eternalsky lowcode-tools 相关的问题辛苦处理一下。
@eternalsky lowcode-tools 相关的问题辛苦处理一下。
收到,近期会处理一下