[英]Update state array in React Native
我正在尝试用 Firebase 数据库的元素填充一个空的 state 数组
retrieveCategories = async () => {
const { categories } = this.state;
const { eventTypes } = constants;
let count = eventTypes;
const snapshot = await firebase.database().ref('/categories').once('value');
while (count !== -1) {
const cat = snapshot.val()[count];
this.setState(prevState => ({ categories: [...prevState.categories, cat] }));
count -= 1;
}
console.log(categories);
}
问题是无论我做什么,数组都不会自行更新,当console.log(categories);
只抛出一个[]
。
我能做些什么来解决这个问题?
你可以这样做
let {categories} = this.state
categories.push(cat)
this.setState({categories})
还有 console.log(this.state.categories) 因为 state 在 this.setState 之后更新。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.