Я развернул некоторые переменные среды с помощью облачных функций Firebase, следуя этому руководству .
Я использую React Native Firebase и хочу получить доступ к переменным среды. В документах Firebase говорится, что вы можете получить доступ к переменным следующим образом:
const functions = require('firebase-functions');
const request = require('request-promise');
exports.userCreated = functions.database.ref('/users/{id}').onWrite(event => {
let email = event.data.child('email').val();
return request({
url: 'https://someservice.com/api/some/call',
headers: {
'X-Client-ID': functions.config().someservice.id,
'Authorization': `Bearer ${functions.config().someservice.key}`
},
body: {email: email}
});
});
В React Native Firebase docs говорится, что импортировать и использовать такие функции Firebase:
import functions from '@react-native-firebase/functions';
function App() {
const [loading, setLoading] = useState(true);
const [products, setProducts] = useState([]);
useEffect(() => {
functions()
.httpsCallable('listProducts')()
.then(response => {
setProducts(response.data);
setLoading(false);
});
}, []);
Обратите внимание на разницу в импорте.
Мой код выглядит следующим образом:
import functions from '@react-native-firebase/functions';
const id = functions.config().xyz.id;
const key = functions.config().xyz.key;
Я получаю сообщение об ошибке:
TypeError: _functions.default.config is not a function
Кажется, все пакеты установлены правильно - мои версии следующие:
"@react-native-firebase/app": "^6.3.0",
"@react-native-firebase/auth": "^6.3.0",
"@react-native-firebase/crashlytics": "^6.3.0",
"@react-native-firebase/firestore": "^6.3.0",
"@react-native-firebase/functions": "^7.1.0",
"@react-native-firebase/messaging": "^6.3.0",
Где я ошибаюсь и как можно объединить облачные функции Firebase с React Native Firebase, чтобы получить развернутые переменные среды?
Обновление
Я обновил все пакеты RNFB до версии 7.1.0, но у меня все еще есть та же проблема.