我收到以下错误,我无法弄清为什么会抱怨。
错误TS2322(TS)类型'()=>字符串'无法分配给类型 “字符串”。
最近我发现有关此错误的信息是here,但是虽然错误相同,但情况并非如此。
我将定义为字符串的“ cssClasses”等同于返回字符串的匿名函数。这就是这个想法,该函数返回一个字符串,但其说法是“不能将字符串分配给字符串”
我该如何解决?
这是我的代码:
for (let day = 0; day < numberOfDays; day++) {
cssClasses = (): string => {
if (day == calendarLayout.dayDifference) {
return "cal-heading2-day-" + day.toString() + " " + cssToday;
} else
return ("cal-heading2-date-" + day.toString())
}...
答案 0 :(得分:1)
您的函数的正确键入如下:
const cssClasses: () => string = () => {
if (day == calendarLayout.dayDifference) {
return "cal-heading2-day-" + day.toString() + " " + cssToday;
} else {
return ("cal-heading2-date-" + day.toString());
}
}
正如注释中正确指出的那样,您正在尝试将类型string
分配给返回字符串的function
,这是完全不同的。