-
카테고리
-
세부 분야
풀스택
-
해결 여부
미해결
특정 user 페이지 가져오기 질문있습니다.
22.11.30 14:13 작성 조회수 171
0
안녕하세요. 2틀동안 검색하고 연구했지만, 답이 안나오네요. 리액트/몽고디비를 이용하여, todolist를 만들고 있습니다. (글작성, 글목록보기, 삭제)까지는 잘돌아가는대요. 특정페이지 불러오기가 어렵네요.
리액트
리액트
import React, { useEffect, useState } from 'react'
import axios from 'axios'
import { useParams } from 'react-router-dom'
const ShowPage = () => {
const [post,setPost] = useState("");
const {id} = useParams("");
const getPost=(id)=>{
axios.get(`/users/register/${id}`).then((response)=>{
setPost(response.data);
})
}
useEffect(()=>{
getPost(id);
},[])
return (
<div>{post.title}</div>
)
}
userRouter
export default ShowPage
userRouter.get("/register/:userId", async (req, res) => {
try {
const { userId } = req.params;
console.log('userId',userId);
if (!mongoose.isValidObjectId(userId))
return res.status(400).send({ err: "invalid userId" });
const user = await User.find().populate("writer")
.exec((err,user) => {
if(err) return res.status(400).json({success:false, err})
return res.status(200).json({success:true, user})
})
} catch (err) {
console.log(err);
return res.status(500).send({ err: err.message });
}
// console.log(req.params);
});
_id 는 오브젝트 아이디 이고, 클라이언트에서 불러오는건 string인가 해서 찾아봐도 답이안나오네요
가르쳐주세요. 부탁드립니다.
답변을 작성해보세요.
0
김시훈
지식공유자2022.12.01
음 단순 디버깅으로 보이는데요. 오류 메시지 일단 확인해보시고요. 부족하면 디버거를 사용하시거나 중간 중간에 콘솔 찍어가면서 찾아보시면 금방 해결 할 수 있을거에요. 서버에 요청이 제대로 들어갔는지 -> 그러면 서버 문제, 서버에서 제대로 리턴했는데 클라에서 처리를 못한건지 이런식으로 좁혀가면 쉽게 해결 할 수 있어보여요
답변 1