typescript - 使用 TypeScript 在数组项中接口唯一值
问题描述
我正在逐渐使用 TypeScript 学习 React。我经常面临描述对象的问题,以便 ESLint 可以提示我。我试图在数组中描述一个对象,以便它的字段name
具有来自可能枚举的唯一值IKeyNameColumns
。为了让我更容易理解我的意思,我最好举个例子:
type IKeyNameColumns = 'name' | 'status' | 'type' | 'age'
interface IListColumns {
columns: Array<{
title: string
name: IKeyNameColumns // need only one uniq value of IKeyNameColumns
}>
}
我知道它是在泛型的帮助下完成的,而与集合有关Set
。
解决方案
因此,据我了解,您试图告诉IListColumns
数组columns
不允许有 2 个具有相同name
属性的元素。
据我所知,泛型是不可能的,应该用 a 来解决Set
,您在问题中也提到了这一点。
这导致了下一个问题,Set
据我所知,不可能定义一个比较器,这将表明在相等name
属性的情况下相等,而是始终检查整个对象。
此处也讨论了相同的内容:如何为 JavaScript Set 自定义对象相等性
推荐阅读
- c# - 如何绑定
从资源字典中使用 MVVM 和数据绑定 - bootstrap-4 - 在使用 Bootstrap 3.3.1 升级之前,使用 Bootstrap 4.6.0 动态选项卡无法正常工作
- typescript - 如何在 React-Quill 内容中上传图片?
- javascript - 将表格另存为 PDF
- real-time - 如何将凉亭上的实时因子设置为 1?
- r - r中重复行的序列号
- r - 如何用ggplot中的符号替换轴上的数字?
- python - 硬币变化(我的递归逻辑有效,但添加记忆时它不起作用)
- java - 如何让代码知道是手动运行还是通过管道运行?
- google-apps-script - 谷歌脚本复制和粘贴