【发布时间】:2021-11-03 21:26:19
【问题描述】:
我正在创建一个函数来从 Youtube API 获取一些信息,我希望它在我刷新页面并将该信息置于状态时只被调用一次。但是当我在componentDidMount中使用它时,它不会保存信息并且我的状态仍然是空的。这是代码:
constructor(props) {
super(props);
this.state = { vid: [] };
this.vidSearch = this.vidSearch.bind(this);
}
vidSearch = async () => {
const youtubeVid = await Youtube.get("/search");
this.setState({ vid: youtubeVid.data.items });
};
componentDidMount() {
this.vidSearch();
console.log(this.state.vid);
}```
【问题讨论】:
-
您确定调用的是 componentDidMount 而不是其他钩子吗?你可以在 componentDidMount() 的开头添加一个 console.log("This is componentDidMount") 来检查。
标签: javascript reactjs function api state