我正在尝试将视频状态设置为来自 api 的响应的 items 数组,但是当我 console.log 视频时它返回一个空数组.... 这是获取我设置视频状态的 api 的代码
const [videos, setVideos] = useState([]);
const handleFormSubmit = async (searchterm) => {
await fetch(
`https://www.googleapis.com/youtube/v3/search?${params.toString()}&q=${searchterm}`
)
.then((response) => response.json())
.then((data) => {
console.log(data);
setVideos(data.items);
console.log(videos);
});
};
如何将 items 数组设置为视频状态?
最佳答案
Ciao,不幸的是,在 setVideos
调用后,使用钩子(Hook)无法记录 videos
,因为 setVideos
是异步的。
要获取 videos
的最后一个值,您必须以这种方式使用 useEffect
钩子(Hook):
useEffect(() => {
console.log(videos);
}, [videos]);
关于javascript - useState react hook不设置数组状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63375023/