• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Next.js 게시판 동적 라우팅이 안됩니다

동적 라우팅이 안됩니다

7 글 보임 - 1 에서 7 까지 (총 7 중에서)
  • 글쓴이
  • #144055

    박지혁
    참가자
    import { connectDB } from "@/util/database.js";
    export default async function Detail({ params }) {
      let db = (await connectDB).db("forum");
      let result = await db.collection("post").findOne({ _id: objectId(params.id) });
      return (
        <div>
          <h4>상세페이지임</h4>
          <h4>{result.title}</h4>
          <p>{result.content}</p>
        </div>
      );
    }
     
    계속 null값이 넘어와요.. props말고 params로 접근하는게 안전하다고 해서 해봤는데도 안되고 하드코딩을 하면 mongodb안에있는 데이터가 잘 뜨는데
    url로 변수를 받아오는게 안되네요 파일명도[id]로 적어놨습니다.
    #144057

    codingapple
    키 마스터
    result가 null이면 params 변수 값이 잘 있는지 출력해보고
    objectId말고 new ObjectId라고 써봅시다
    #144059

    박지혁
    참가자
    import { connectDB } from "@/util/database.js";
    import { ObjectId } from "mongodb";
    export default async function Detail({ params }) {
      let db = (await connectDB).db("forum");
      let result = await db
        .collection("post")
        .findOne({ _id: new ObjectId(params.id) });
      console.log(result);
      return (
        <div>
          <h4>상세페이지임</h4>
          <h4>{result.title}</h4>
          <p>{result.content}</p>
        </div>
      );
    }
     
    바꾸고 페이지에서 보면
    
    
    C:\Users\pogu5\Desktop\Next_board\forum\.next\dev\server\chunks\ssr\node_modules_473cc24e._.js: Invalid source map. Only conformant source maps can be used to find the original code. Cause: Error: sourceMapURL could not be parsed
    이렇게 뜹니다..
     
    #144063

    codingapple
    키 마스터
    let a = await params 라고 쓴 다음 
    a.id를 ObjectId안에 넣어봅시다
    
    
    #144082

    박지혁
    참가자
    감사합니다 그렇게 쓰니까 해결이 됐네요 혹시 어떤 이유 때문에 이렇게 await params를 따로 변수 선언해서 쓰는 건지 알려주실 수 있으실까요?
    
    
    #144083

    codingapple
    키 마스터
    15버전인가 부터 귀찮게 await 쓰라고 바뀌었습니다
    #144100

    박지혁
    참가자
    아하 ! 감사합니다!
    
    
7 글 보임 - 1 에서 7 까지 (총 7 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관, 개인정보처리방침
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠