反应-useState不使用onSubmit更新状态值

时间:2020-05-02 02:03:00

标签: javascript reactjs async-await react-hooks react-state

我正在尝试使用React创建一个天气应用。下面的代码触发对OpenWeatherMap的API的请求,然后尝试更新状态值。

const [data, setData] = useState()
  const call = async e => {
    e.preventDefault()
    const url = -- target url --
    const request = await fetch(url)
    const results = await request.json()
    if (results) { setData(results) }
    console.log(data) /* this returns undefined */
    console.log(results) /* this returns the actual data back from the API */
  }

上面的“ 调用”功能正在呈现在名为App的组件内部。然后,App组件将渲染其他几个组件,其中之一具有触发该功能的形式。问题是,它没有更新状态。它已成功发出请求。我知道,因为它会将“ 结果”记录到控制台。但是在更新状态值后,当我记录状态值“ 数据”时,它会显示“ 未定义”。我尝试了各种解决方法,包括“ useEffect”,但没有运气。任何形式的帮助将不胜感激。

0 个答案:

没有答案