我正在开发一个名为“GitHub Finder”的应用程序。
我正在使用异步函数获取 App 组件中的日期,并将这些函数作为道具传递给用户组件,我在 useEffect 中调用这些函数。
问题就在这里,当我第二次进入用户页面时,它显示了我从 App 组件传入 props 的先前数据,然后显示加载器并显示新数据。
这是应用程序组件代码,我从 API 获取日期并通过道具传递给用户组件。
// Get single GitHub user
const getUser = async (username) => {
setLoading(true);
const res = await axios.get(
`https://api.github.com/users/${username}?client_id=${
process.env.REACT_APP_GITHUB_CLIENT_ID}&client_secret=${
process.env.REACT_APP_GITHUB_CLIENT_SECRET}`
);
setUser(res.data);
setLoading(false);
}
// Get user repos
const getUserRepos = async (username) => {
setLoading(true);
const res = await axios.get(
`https://api.github.com/users/${username}/repos?
per_page=5&sort=created:asc&client_id=${
process.env.REACT_APP_GITHUB_CLIENT_ID}&client_secret=${
process.env.REACT_APP_GITHUB_CLIENT_SECRET}`
);
setRepos(res.data);
setLoading(false);
}`
用户组件代码。
useEffect(() => {
getUser(match.params.login);
getUserRepos(match.params.login);
// eslint-disable-next-line
}, []);
我已经录制了一个视频,所以你们可以很容易地理解我想说什么。 视频链接
我怎么解决这个问题?
预先感谢!