如何在 Mobx State Tree 模型中将 TypeScript 类型用作属性类型
我正在使用一个 GraphQL 代码生成器,它会在 TypeScript 中生成模式类型,并希望在模型中使用这些类型。
我的问题是,我如何像这样在 Mobx 状态树模型中使用 TypeScript 类型
type AssignedFilter = {
id: number
name: string
email: string
}
const SearchStore = types
.model('Search', {
text: '',
assigned: // how to use the AssignedFilter type here??
})
答案#1
type 是 TypeScript 的纯概念,因此不可能使用 type 来定义属性应该是什么 MST 类型。
不过,你也可以反过来做,根据你的 MST 模型创建一个 type,如果这适合你的用例的话。
示例
const AssignedModel = types.model('Assigned', {
id: types.identifierNumber,
name: types.string,
email: types.string
});
const SearchStore = types.model("Search", {
text: "",
assigned: AssignedModel
});
type AssignedFilter = SnapshotIn<typeof AssignedModel>;
