Я пишу приложение с использованием React Native и столкнулся с проблемой при попытке обновить объект с помощью метода useState
. Вот мой код:
const Screen = ({route}) => {
var roomKey = route.params;
const [room, setRoom] = useState({});
db.ref('rooms').on('value', (data) => {
setRoom(() => (data.val())[roomKey]);
});
console.log(room);
// rest of the code ...
Мой код работает следующим образом: сначала он принимает ключ, выводимый другим экраном с реактивной навигацией, а затем вызывает базу данных firebase с помощью метода ref (db определяется как Firebase.initializeApp(config).database()
, где config
- объект со всеми необходимыми данными firebase). Если я выхожу из системы data.val())[roomKey]
, он правильно выводит объект, который я загружаю из базы данных, однако объект room
не обновляется методом useState
(он выводит undefined
, что делает следующую часть кода cra sh). Что я делаю не так?