首页 > 解决方案 > 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 不起作用。那么我该如何解决呢?

标签: javascriptreactjsreact-native

解决方案


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)
  }


推荐阅读