mobx-state-tree 文字数组
mobx-state-tree literal array
是否可以在 MST 中创建文字数组类型?它应该等同于
type Interval = ['1min', '5min']
;
这是一个抛出错误的代码示例
type Interval = '1min' | '5min';
export interface AppStore {
config: {
intervals: ['1min', '5min']
},
search: {
symbol: string;
interval: string;
dataTypes: string[];
}
}
const appStore = types
.model<AppStore>('appStore', {
config: types.model({
intervals: types.array(
types.literal<Interval>('1min'),
types.literal<Interval>('5min')
),
}),
search: types.model({
dataTypes: types.array( types.string ),
interval: types.union(
types.literal<Interval>('1min'),
types.literal<Interval>('5min')
),
symbol: types.string,
}),
})
types.array()
期望有一个参数,所以这可能吗? MST 文档不走运 https://github.com/mobxjs/mobx-state-tree#types-overview
你能详细说一下吗,你是在寻找数组类型,还是元组类型?换句话说,["1min"] 或 ["1min", "5min", "1min"] 也可以吗?
如果可以接受,types.array(types.union(types.literal("1min"), types.literal("5min")) 应该可以解决问题(你接近!)。或者更简单:types.array(types.enum(["1min", "5min"])))
如果您正在寻找尚未实现的元组类型:请参阅 https://github.com/mobxjs/mobx-state-tree/issues/805
是否可以在 MST 中创建文字数组类型?它应该等同于
type Interval = ['1min', '5min']
;
这是一个抛出错误的代码示例
type Interval = '1min' | '5min';
export interface AppStore {
config: {
intervals: ['1min', '5min']
},
search: {
symbol: string;
interval: string;
dataTypes: string[];
}
}
const appStore = types
.model<AppStore>('appStore', {
config: types.model({
intervals: types.array(
types.literal<Interval>('1min'),
types.literal<Interval>('5min')
),
}),
search: types.model({
dataTypes: types.array( types.string ),
interval: types.union(
types.literal<Interval>('1min'),
types.literal<Interval>('5min')
),
symbol: types.string,
}),
})
types.array()
期望有一个参数,所以这可能吗? MST 文档不走运 https://github.com/mobxjs/mobx-state-tree#types-overview
你能详细说一下吗,你是在寻找数组类型,还是元组类型?换句话说,["1min"] 或 ["1min", "5min", "1min"] 也可以吗?
如果可以接受,types.array(types.union(types.literal("1min"), types.literal("5min")) 应该可以解决问题(你接近!)。或者更简单:types.array(types.enum(["1min", "5min"])))
如果您正在寻找尚未实现的元组类型:请参阅 https://github.com/mobxjs/mobx-state-tree/issues/805