所以我有一个联合类型,EduType,定义如下:
export type EduType =
| { level: string }
| { program: string }
| { level: string, program: string }
和一个函数,它返回一个期望EduType
的函数,定义如下
updateEduSelects(which: 'level' | 'program') {
return (_, __, val: string) => {
const value = val != null ? val : ''; //if val is null replace with ''
const newEdu = value === 'None' //if None entered, both fields should
? { level: 'None', program: 'None' }//be none
: { [which]: value };
this.props.onNewClientEdu(newEdu);
};
}
我的问题是this.props.onNewClientEdu(newEdu)
行上的流量错误,说object literal. Could not decide which case to select
。当我有两个函数,没有计算键值时,它工作正常。我的直觉是说我错误地键入EduType
对象,但我仍然不知道如何更好地代表它。
提前致谢