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

home2 게시판 Next.js 게시판 Part2 : 게시판 > 상세페이지 만들기 2 (useRouter)

Part2 : 게시판 > 상세페이지 만들기 2 (useRouter)

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

    시무룩피
    참가자
    안녕하세요.
    질문이 있어서 문의 글 남깁니다.
    
    useRouter를 사용한 페이지 이동에서 아래와 같이 list/page.js에서 urlId를 프롭스로 넘겨서,
    list/DetailLink.js 에서 push해주는 방식으로 해보려고 하는데
    404 에러가 뜨네요
    잘못된방법일까요
    
    
    (list/page.js)
    
    import { connectDB } from '@/util/database';
    import Link from 'next/link';
    import DetailLink from './DetailLink';
    export default async function List() {
      const db = (await connectDB).db('forum')
      let result = await db.collection('post').find().toArray()
      return (
        <ul className="list-bg">
          {
            result.map((_, i) => {
              const urlId = `/detail/${result[i]._id.toString()}`;
              return (
                <li className="list-item" key={i}>
                  <Link prefetch={false} href={urlId}>
                    <h4>{result[i].title}</h4>
                  </Link>
                  <DetailLink urlId={urlId}/>
                  <p>{result[i].content}</p>
                
                )
              }
            )
          }
        
      )
    } 
    
    (list/DetailLink.js)
    
    'use client'
    import {useRouter} from 'next/navigation'
    export default function DetailLink({ urlId }){
      let router = useRouter();
      console.log(urlId)
      return (
        <button onClick={()=>{ router.push(`/detail/${urlId}`) }}>벝흔</button>
      )
    }
    #77104

    codingapple
    키 마스터
    router.push(urlId) 해봅시다
    #77521

    시무룩피
    참가자
    아...page.js에서 제가 urlId 변수에 detail값도 같이 넘겨주고 있었군요...
    감사합니다. 사랑합니다~
3 글 보임 - 1 에서 3 까지 (총 3 중에서)
  • 답변은 로그인 후 가능합니다.

About

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

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

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