从AsyncStorage获取变量并将其放入Axios

时间:2020-06-13 21:08:03

标签: react-native

我一直在尝试从AsyncStorage获取变量,然后将其放入Axios get请求中。问题在于该变量未更新为从AsyncStorage检索的数据。我该怎么做呢?

这是我的代码:

const [sku, setSku] = useState('')

  const STORAGE_KEY_SKU = '@save_sku'

  const readSku = async () => {
    try {
      const selectedSku = await AsyncStorage.getItem(STORAGE_KEY_SKU)

      if (selectedSku !== null) {
        setSku(selectedSku)
      }
    } catch (e) {
      alert('Failed to fetch the data from storage')
    }
  }

  useEffect(() => {
    readSku()
  }, []);

  useEffect(() => {
    Axios.get(`https://api.vexdb.io/v1/get_matches?sku=${sku}`)
      .then(({ data }) => {
        //console.log("defaultApp -> data", data)
        setData(data.result)
      })
      .catch((error) => console.error(error))
      .finally(() => setLoading(false));
  }, []);

我正在尝试从AsyncStorage的状态中获取sku变量,但是axios的get {sku}请求链接中的$ {sku}无法正常工作,该语句中的sku为空。

请帮助,谢谢!

0 个答案:

没有答案