РЕДАКТИРОВАТЬ: удалили мое предыдущее решение, потому что оно появилось новые ошибки в соответствии с комментариями @fenchai. Суть проблемы, конечно, связана со значениями в машинописи, которые могут быть нулевыми или неопределенными. Typescript попросит вас проверить их на нуль.
Я углубился в это, и в этом сообщении SF было больше разъяснений: { ссылка }
Как отмечает @fenchai, вы можете использовать? оператор.
Ознакомьтесь с примечаниями к выпуску Typescript по состоянию на конец 2019 года: https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html
Интересующие объекты:
Необязательная цепочка:
// Make x = foo.bar(). If foo null or undefined, x will be undefined.
let x = foo?.bar()
Nulli sh Объединение:
// Makes x equal to foo, or if it is null/ undefined, call bar().
let x = foo ?? bar();
С точки зрения функций firebase, я все равно рекомендую всем, чтобы они проверяли важные переменные на ноль перед вызовом дополнительного кода, как вы это сделаете у вас есть возможность выяснить важные ошибки, так как функции firebase могут не всегда сообщать вам, какое значение не определено и причина проблемы root.
Пример:
const message = myDocument?.data()?.message;
if (message === null || message === undefined){
console.error("Message is undefined or null");
// Proceed, or return if message vital to function.
}