【发布时间】:2021-09-03 14:32:42
【问题描述】:
我正在尝试使用不可变的 js 和打字稿来表示树状数据结构。现在,我正在使用普通的 vanilla js 对象来表示树中的节点。这是类型签名。
type NodeType = {
value: string
children: List<NodeType>
}
我想将其转换为记录,但我对如何执行此操作感到困惑。如果我只是为了显而易见:
const defaultValues: NodeType = {
value: "foo",
children: List()
}
const NodeRecord = Record(defaultValues)
...那么在顶层就可以了,但它会期望孩子的类型是NodeType而不是RecordOf(NodeType)。
有人知道怎么做吗? 谢谢
【问题讨论】:
-
您是否遇到了特殊问题?因为据我所知,您的代码可以按您的预期工作:tsplay.dev/N5EpPN
标签: typescript types typescript-generics immutable.js