• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

특정 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인가 해서 찾아봐도 답이안나오네요

가르쳐주세요. 부탁드립니다.

답변 1

답변을 작성해보세요.

0

음 단순 디버깅으로 보이는데요. 오류 메시지 일단 확인해보시고요. 부족하면 디버거를 사용하시거나 중간 중간에 콘솔 찍어가면서 찾아보시면 금방 해결 할 수 있을거에요. 서버에 요청이 제대로 들어갔는지 -> 그러면 서버 문제, 서버에서 제대로 리턴했는데 클라에서 처리를 못한건지 이런식으로 좁혀가면 쉽게 해결 할 수 있어보여요