javascript - React Native:useState() 不会立即改变?
问题描述
我希望我的函数能够userIngredients
即时更新,以便在渲染屏幕后使用它。
async function getUserData() {
var userData = await firebase.firestore().doc("ingredients/" + user.uid).get();
var labels = []
userData.data().ingredients.forEach(ingredient => {
labels.push(ingredient.label)
})
setUserIngredients(labels)
setUserRecipes(userData.data().recipes)
console.log(userIngredients)
}
userIngredients
是空的,这就是为什么我的 fetch 不起作用。那么我该如何解决呢?
解决方案
async function getUserData() {
var userData = await firebase.firestore().doc("ingredients/" + user.uid).get();
var labels = await userData.data().ingredients.map(({label})=>label)
setUserIngredients(labels)
setUserRecipes(userData.data().recipes)
console.log(userIngredients)
}
推荐阅读
- python - 带有对象 heappush 的 Python 优先级队列不支持对象之间的“>”
- little-man-computer - 输出一个序列
- docker - 错误:-bash:wget:找不到命令 - 可视代码 - Docker 终端
- c++ - C++:catch(...) 是否会遗漏任何异常
- winforms - 如何检查所选行在 DataGridView 中的哪个类
- javascript - 检查常量类型而不加宽类型?
- mysql - SET 的 SQL 查询失败
- ios - mailto:iOS 14 中的方案和自定义邮件客户端
- pyspark - 如何为每个任务(分区)执行一些功能以及为分区中的每个元素执行一些功能?
- php - Curl - 无法检索隐藏的输入字段值