为什么尽管我进行了条件检查,但仍然收到此错误。
Object is possible null or undefined
代码:
{
const inHolidays = useCallback(() => data?.user.holiday_times ? checkIfEmployeeIsInHolidays(data?.user.holiday_times) : null, [data]);
....
inHolidays()
?
<p>Mitarbeiter ist im Urlaub bis zum {format(new Date(inHolidays().end_time), 'PP', { locale: de })}</p>
:
<p>NOT</p>
}
错误出现在 inHolidays().end_time
{format(new Date(inHolidays().end_time)
为什么我会收到此错误?我在Holidays() 中进行了条件检查?:...但不起作用
这里有两件事可能为空/未定义:函数本身和该函数调用的结果。
我将执行以下操作以避免在函数可以为空时调用该函数,并避免尝试访问空/未定义结果的属性。
Typescript 无法静态地确定函数在两次调用中是否返回相同的值,因此初始的 null 检查不会缩小后续调用的返回类型。您可以通过将结果分配给 const 来解决此问题: