action使用typescript在redux reducer中强制转换参数的最佳方法是什么?将会出现多个动作接口,这些接口都扩展了具有属性类型的基接口.扩展操作接口可以具有更多属性,这些属性在操作接口之间都是不同的.以下是一个示例:
interface IAction {
type: string
}
interface IActionA extends IAction {
a: string
}
interface IActionB extends IAction {
b: string
}
const reducer = (action: IAction) {
switch (action.type) {
case 'a':
return console.info('action a: ', action.a) // property 'a' does not exists on type IAction
case 'b':
return console.info('action b: ', action.b) // property 'b' does not exists on type IAction
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,action需要定投作为同时访问一个类型IActionA,并IActionB因此减速机可以同时使用action.a,并action.a不会引发错误. …
我想在VSCode编辑器中突出显示尾随空格。
首先,我尝试通过开发工具添加CSS样式,例如:
span .token .block .meta .leading .whitespace:last-of-type {
background-color: red;
}
span .token .block .meta .trailing .whitespace {
background-color: red;
}
Run Code Online (Sandbox Code Playgroud)
它的行为完全符合我需要的行为。
我的下一步是将其打包为扩展。我不想创建一个新主题,也不想使一个简单的解决方案变得更加复杂。
但是目前我只能看到两种更改编辑器样式的方法:
两种解决方案都不允许我仅在VSCode编辑器样式集中添加六行CSS。
问题是:
我尝试使用 MongoDB C# 驱动程序 (2.4.4) 表达以下查询:
db.media.aggregate({ $sample: { size: 1 }})
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止所拥有的:
BsonDocument sample = new BsonDocument
{
{ "$sample", new BsonDocument { { "size", 1 } } }
};
MongoBlob mongoBlob = await _collection
.Aggregate()
.Group<MongoBlob>(sample)
.FirstOrDefaultAsync();
Run Code Online (Sandbox Code Playgroud)
我不能把sampleto放进.Aggregate(AggregateOptions options = null)去,把它放进去.Group(...)显然是错误的。也没有类似的.Sample()方法。
请帮忙。先感谢您。