#javascript #reactjs #firebase #error-handling #undefined
#javascript #reactjs #firebase #обработка ошибок #не определено
Вопрос:
Это пример объекта, который я хочу отправить в свою базу данных:
item = {
product_name: "3 Musketeers Truffle Crisp Bar",
brands: undefined,
ingredients_text: undefined,
nutrients: {
proteins_100g: 6.41,
fat_100g: 28.8
}
}
Теперь, поскольку этот объект содержит некоторые ключи с неопределенными значениями, мое приложение прерывается, и я получаю сообщение об ошибке, потому что Firestore не поддерживает неопределенный тип данных. Я не хочу, чтобы приложение ломалось только потому, что есть неопределенное значение.
Я искал решение и нашел, что могу использовать { ignoreUndefinedProperties: true }
, но когда я устанавливаю firebase-admin с помощью npm, я получаю эту ошибку:
======== WARNING! ========
firebase-admin appears to have been installed in an unsupported environment.
This package should only be used in server-side or backend Node.js environments, and should not be used in web browsers or other client-side environments.
Но у меня даже нет серверной среды, могу ли я установить это правило на веб-сайте firebase?
Пожалуйста, кто-нибудь может мне помочь.
Ответ №1:
Это не то же самое, что настройка { ignoreUndefinedProperties: true }
, но firestore поддерживает нулевые значения, поэтому вы можете сделать это как быстрый и грязный обходной путь:
var someText = undefined;
item = {
product_name: "3 Musketeers Truffle Crisp Bar",
brands: undefined,
ingredients_text: someText || null,
nutrients: {
proteins_100g: 6.41,
fat_100g: 28.8
}
}
В принципе, вы могли бы добавить || null
для каждого вашего значения, которое может быть неопределенным.