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

home2 게시판 Next.js 게시판 props를통해 app의 page.js에서 list파일내 list.js에 변수 전달

props를통해 app의 page.js에서 list파일내 list.js에 변수 전달

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

    쿠로로
    참가자
    우선 app의 page.js는 이렇습니다.
    제가 갖고있는 json 데이터 파일을 mongodb에 넣고 그걸 불러오기위해 변수저장을 해보았습니다.
    우선 ptitle(상품명)과 iURL(이미지파일이 있는 인터넷 주소) 2개만 전달해보려합니다.
    
    import List from './list/page';
    import { connectDB } from './DB.js';
    export default async function Home() {
      let client = await connectDB;
      const db = client.db('forum');
      let pid = await db.collection('post').find({}, { ProductID: 1, _id: 0 }).toArray();
      let category = await db.collection('post').find({}, { Category: 1, _id: 0 }).toArray();
      let gender = await db.collection('post').find({}, { Gender: 1, _id: 0 }).toArray();
      let ptitle = await db.collection('post').find({}, { ProductTitle: 1, _id: 0 }).toArray();
      let iURL = await db.collection('post').find({}, { ImageURL: 1, _id: 0 }).toArray();
       return (
        <main>
          <List ptitle={ptitle} iURL={iURL} />
          {console.log(ptitle)};
          <h1 className="title">Fahsion mall</h1>
          <p className="title-sub">by dev Shin</p>
        </main>
      )
     
    그리고 list파일내에 list.js는 이렇습니다.
    
    
    import { useState } from 'react'
    export default function List(props) {
      const {ptitle, iURL} = props;
      let [수량, 수량변경] = useState([])
      return (
           <div>
            <h2 className="title">Products</h2>
            {
                ptitle.map( (goods, i)=> {
                    return (
                      <div className="food" key={i}>
                            < img src={`${iURL[i]}`} className="food-img"/>
                        <h4>{goods} $10</h4>
                        <button onClick={()=>{
                          let copym = [...수량]
                          copym[i]--
                          수량변경(copym)}}>-</button>
                        <span>{수량[i]}</span>
                        <button onClick={()=>{ 
                          let copyp = [...수량]
                          copyp[i]++
                          수량변경(copyp)}}>+</button>
                      </div>
                    )
                })
            }
          </div>
        )
      }
     
     
    그런데 
    
    
    
    ./node_modules/mongodb/lib/client-side-encryption/mongocryptd_manager.js:34:24
    Module not found: Can't resolve 'child_process'
    https://nextjs.org/docs/messages/module-not-found
    Import trace for requested module:
    ./node_modules/mongodb/lib/client-side-encryption/auto_encrypter.js
    ./node_modules/mongodb/lib/index.js
    ./app/DB.js
    ./app/page.js
    ./app/list/page.js
    이렇게 에러가 뜨네요. 
    해결방법이 없을까요?
     
     
     
     
     
     
     
     
    #103470

    codingapple
    키 마스터
    list.js 경로가 좀 이상한게 아닐까요
    #103471

    쿠로로
    참가자
    강의대로 list파일내에 page.js를 만들었는데 경로가 이상한가요?
    #103494

    codingapple
    키 마스터
    import List from './list/page' 는 list.js 파일 경로가 아닌듯요
4 글 보임 - 1 에서 4 까지 (총 4 중에서)
  • 답변은 로그인 후 가능합니다.

About

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

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

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