-컴포넌트 만드는 방법

 

page.js

import { Component } from "react"

export default function Cart() {
    return (
      <div>
        <h4 className="title">Cart</h4>
        <CartItem/>
        <CartItem/>
        <CartItem/>
      </div>
    )
  } 

  function CartItem(){
    return (
        <div className="cart-item">
          <p>상품명</p>
          <p>$40</p>
          <p>1개</p>
        </div>
    )
  }

 

function 이름() {

   return (   <html> ) 

}

html은 <div></div> <div></div> 이렇게 올수 없으며 큰 <div> 로 감싸주어야 함

컴포넌트를 만들고 다른곳에서 <이름/> 이렇게 가져다 쓸 수 있음.

ex)

이거 안됨

 

이거 됨

 

 

 

 

 

- server component

onclick 같은 자바스크립트 기능 넣기 불가 (오로지 html만)

속도 빠름

검색엔진 노출에 유리

큰 페이지에 추천함

 

- client component

.js 파일 맨위에 'use client' 를 넣으면 사용가능

자바스크립트가 들어가므로 로딩 속도가 느림

자바스크립트가 필요한 파일에만 넣으면 좋음

만약 http://localhost:3000 에서 http://localhost:3000/list 로 이동해서 /list 안에 있는 페이지를 보여주고 싶으면

이렇게 해주면 된다.app > list (경로명) 폴더를 만들고, 만든 폴더 안에 page.js를 생성해주고 페이지를 작성해주면,
/list 로 이동했을 때 원하는 페이지를 보여줄 수 있다.
 

결과

1. Node.js 18 버전 이상 설치

구글에 Node.js 검색해서 설치

https://nodejs.org/en

 

Node.js

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

nodejs.org

 

 

 

 

2. 편집기인 VSCode 설치

https://code.visualstudio.com/download

 

Download Visual Studio Code - Mac, Linux, Windows

Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows. Download Visual Studio Code to experience a redefined code editor, optimized for building and debugging modern web and cloud applications.

code.visualstudio.com

 

OS 버전에 맞게 설치

 

 

 

 

3. 작업폴더 만들기

 

 

 

4. VSCode 로 3에서 만든 폴더 열기

 

 

 

5. 상단 메뉴 터미널 > 새 터미널 > npx 명령 입력

 

npx create-next-app@latest --experimental-app

 

오류 날 수도 있음!

오류 나면  npm i -g npx 먼저 입력해 보시길. 

혹은 VSCode 껐다키거나 Node.js 를 다시 설치해 봅시다

이렇게 되면 완료.

 

 

 

아까 만든 폴더에 방금 생성한 프로젝트가 생성되었다.

 

 

6. VSCode에서 5에서 만든 폴더 다시 열기

터미널 > 새 터미널 > npm run dev 엔터

해당 주소로 방금 만든 프로젝트를 확인할 수 있다.

 

 

 

참고로 구조은 이렇다

모든 페이지에 원하는 html 을 넣고 싶으면 (상단 네비게이션바나 왼쪽 메뉴바 등) layout.js에 작성하면 된다

+ Recent posts