본문 바로가기
next+ts

next+ts 3일차

by 멈추지않아 2022. 4. 14.
유튜브: https://www.youtube.com/watch?v=gyvwrIV0NZk 
깃허브: https://github.com/qjawns0222/caremaker/tree/next-ts-3 

오늘은 _app.tsx 와 nav바 메인화면을 손봤습니다

app.tsx 에서 이렇게 작성해서 모든 페이지내용이 저기 compnent 에 들어가게 되어서 layout역할을 하게 됩니다. 즉 각 페이지 마다 페이지내용이 _app.tsx에   component로 전달이 됩니다. 그래서 layout역할을 하게 됩니다.

그것을 활용하여서 어짜피 모든 페이지가 _app.tsx를 활용해서 되니까 글로벌css를 저기다 적어서 모든것에 적용되도록 했습니다.

참고로 style은 저렇게 적으면 장점이 클래스이름마다 style.~이런식으로 안해도 되지만 css에서 지원하는 자동완성 이나 색깔 고르는게 없어서 조금 불편하기는 합니다.

import { NextPage } from "next";
import Image from "next/image";
import Link from "next/link";

const nav: NextPage = () => {
  return (
    <div className="header">
      <div className="logo">
        <Image
          alt="logo"
          width="70px"
          height="70px"
        />
      </div>
      <div className="navbar">
        <div className="home">
          <Link href="/">
            <a>메인화면</a>
          </Link>
        </div>
        <div className="card">
          <Link href="/form">
            <a>카드 고르기</a>
          </Link>
        </div>
        <div className="mypage">
          <Link href="/mypage">
            <a>마이페이지</a>
          </Link>
        </div>
      </div>
      <style jsx>
        {`
          .header {
            background: linear-gradient(
              to left,
              rgb(251, 211, 233),
              rgb(187, 55, 125)
            );
            display: flex;
          }
          .header > .logo {
            width: 10%;
            display: flex;
            justify-content: center;
          }
          .header > .navbar {
            width: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
          }
          .header > .navbar > * {
            margin: 15px;
            font-weight: bolder;
            font-size: 24px;
            color: royalblue;
          }
        `}
      </style>
    </div>
  );
};

export default nav;
이게 nav.tsx 내용입니다. 맨처음에는 img태그를 할려고 썼는데 오류 뜨길래 보니까 Image어쩌고 있어서 검색하니까 저걸써야 된다고 하더라고요. 뭐 loader어쩌고하느데 보닌까 그냥 편의를 위해 쓰는 것 같아서 그냥 없이했습니다. 
그리고 src,alt,width height(or layout)이 필수더라고요 
css는 저렇게 작성하면 해당 컴포넌트에서만 작동하게 됩니다.
그리고 Link태그만 쓰니까 text-decoration:none이 잘 작동이 안되더라고요.Link태그를 쓰고 그안에 a태그를써주셔야 제대로 동작이 됩니다. 
 

메인화면도  조작했는데 위에꺼랑 크게 다를껀 없습니다.

'next+ts' 카테고리의 다른 글

next+ts 4일차 first form 만들기  (0) 2022.04.16
next+ts 4일차 form 화면 만들기  (0) 2022.04.15
next+ts 2일차  (0) 2022.04.13
next+ts 시작  (0) 2022.04.12
next+ts 개요  (0) 2022.04.12