繁体   English   中英

在 React Native 中更新 state 数组

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM