【发布时间】:2020-04-28 21:01:11
【问题描述】:
我对 React.js 非常陌生。我正在尝试使用钩子更改处于状态的变量recepies。下面是我的代码sn-p:
import React, { useState, useEffect } from 'react';
import './App.css';
function App() {
const [recepies, setRecepies] = useState([]);
useEffect(()=>{getRecepies()}, []);
//const example = Some valid API URL
const getRecepies = async () =>{
const response = await fetch(example);
const data = await response.json();
//data.hits is an array of 10 objects
setRecepies(data.hits);
console.log(recepies);
// prints nothing
}
return (
<div className="App">
</div>
);
}
export default App;
问题是setRecepies 没有更新recepies 状态。为什么会这样?data.hits 是一个有效数组,其中包含我使用 API 获取的 10 个对象。
【问题讨论】:
标签: javascript json reactjs asynchronous async-await