【发布时间】:2018-04-26 20:03:29
【问题描述】:
我正在寻找是否可以将以下代码泛化一下。
type recordType = [
| `Todo(todo, idFunction)
| `TodoItem(todoItem, idFunction)
let commitItemToSchema = (normalizedSchema, recordType) => {
switch(recordType){
| `Todo (todo, idFun) => {...normalizedSchema, todo: addOrModifyById(normalizedSchema.todo, todo, idFun)}
| `TodoItem(todoItem, idFun) => {...normalizedSchema, todoItem: addOrModifyById(normalizedSchema.todoItem, todoItem, idFun)}
};
};
有没有办法可以从变体中获取\'Todo 或'TodoItem 作为变量?
谢谢
【问题讨论】:
-
您能提供代码示例中显示的所有内容的类型吗?
标签: generics polymorphism variant reason