我一直在开发一个全栈应用程序,在前端我使用react,对于后端我使用Django...... 我想要做的是,当用户登录时,它会自动呈现他关注的用户的所有帖子, 我有三个模型,帖子、用户、关注 首先我必须获取数据以获取所有关注者 id,然后我必须再次获取数据以获取与以下内容相关的所有帖子,, 我尝试这样做: 首页.js
const [following,setFollowing]=useState([]);
const getFollowing = async()=>{
if(authToken){
console.log("TOKEN : ",authToken.access);
try{
let response= await fetch(`${BASE_URL}profile/following/`,{
method:"GET",
headers:{
"Content-Type":"application/json",
"Authorization":`Bearer ${authToken.access}`,
}
})
let data= await response.json()
setFollowing(data)
}catch(error){
console.log(error);
}
}
//for getting posts
const getPost= async (num)=>{
let response= await fetch(`${BASE_URL}post/${num}`,{
method:"GET",
headers:{
"Authorization":`Bearer ${authToken.access}`,
"Content-Type":"application/json"
},
})
let data= await response.json()
console.log("Fetched Posts : ", data);
}
//loop to fetch all posts
const getAllPosts=()=>{
let values=Object.values(following)
values.map(value=>(
posts.push(value[Object.keys(value)[0]])
))
var arrayLength=posts.length-1
while(arrayLength=>0){
getPost(posts[arrayLength])
arrayLength-=1 }}
我不明白的是如何多次获取数据,就像我有以下 id's=[4,3] 如何将它们发送到 getPost 方法
要实现获取当前用户关注的多个用户的帖子,您可以修改代码以循环遍历关注的 ID 列表并获取每个用户的帖子。以下是修改这两个函数的方法:
const getAllPosts = async () => {
try {
// Check if following is defined and not empty
if (following && following.length > 0) {
// Loop through each following ID
for (let i = 0; i < following.length; i++) {
const followingId = following[i].id;
// Fetch posts for the current following ID
await getPost(followingId);
}
} else {
console.log("No following users found.");
}
} catch (error) {
console.log(error);
}
};
const getPost = async (userId) => {
try {
let response = await fetch(`${BASE_URL}post/?user=${userId}`, {
method: "GET",
headers: {
"Authorization": `Bearer ${authToken.access}`,
"Content-Type": "application/json"
},
});
let data = await response.json();
console.log("Fetched Posts for user ", userId, " : ", data);
} catch (error) {
console.log(error);
}
};