반응형
Notice
Recent Posts
Recent Comments
관리 메뉴

개키우는개발자 : )

React SNS 1-4. ant design 적용하기 본문

React/React SNS Project

React SNS 1-4. ant design 적용하기

DOGvelopers 2019. 5. 15. 09:19
반응형

기본적인 디자인을 적용하기 위해 Ant Design을 사용합니다.

https://ant.design/

 

Ant Design - A UI Design Language

 

ant.design

터미널에서 npm i antd 로 설치합니다.

antd 설치

중복되는 레이아웃을 쉽게 관리하기위해 components 폴더와 그 하위에 AppLayout.js 파일을 만듭니다.

pages 는 next 기본 설정이기때문에 꼭 pages라고 만들어야 하지만 components는 자유롭게 원하는 폴더명으로 만들어도 상관없습니다.

 

폴더 생성

AppLayout.js 를 작성합니다.

key 는 반복문 역할을 하기 때문에 key 값을 꼭 넣어주어야 합니다.

{children} 은 props 입니다. children을 사용하기 위해 index.js 에 import 합니다.

import React from 'react';
import {Menu, Input} from 'antd';

const AppLayout = ({children}) =>{
    return (
        <div>
            <Menu mode="horizontal">
                <Menu.Item key="home">노드버드</Menu.Item>
                <Menu.Item key="profile">프로필</Menu.Item>
                <Menu.Item key="mail">
                    <Input.Search enterButton style={{verticalAlign:'middle'}} />
                </Menu.Item>
            </Menu>
            {children}
        </div>
    );
};
export default AppLayout;

AppLayout 을 상대경로로 import 설정 하시고 children 에 props 로 전달합니다 props 전달 방법은 여러가지가 있지만

<AppLayout> jsx 태그 안에 값을 넣어 children을 보내줄수 있습니다.

import React from 'react';
import Link from 'next/link';
import Head from 'next/head';
import AppLayout from '../components/AppLayout';

const Home = () =>{
    return (
        <>
        <Head>
            <title>NodeBird</title>
            <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/antd/3.18.1/antd.css" />
            <script src="https://cdnjs.cloudflare.com/ajax/libs/antd/3.18.1/antd.js"></script>
        </Head>
        <AppLayout>
            <Link href='/about'><a>about</a></Link>
            <div>Hello, Next!</div>
        </AppLayout>
        </>
    );
};

export default Home;

주소에 접속하면 잘 적용되어 있는것을 확인할 수 있습니다.

 

주소 접속

출처 : https://www.youtube.com/channel/UCp-vBtwvBmDiGqjvLjChaJw

 

ZeroCho TV

조현영(zerocho)의 JS 프로그래밍 강좌 시간 나는대로 저녁 10시 방송합니다. 컨텐츠: 무료 언어 강좌, 유료 실무 강좌(인프런에 올라감), 오픈소스 기여 방송, 책 쓰는 방송, Vue.js 사이드 프로젝트, 제로초 블로그 업그레이드하기 -- 소개 -- Node.js 교과서...

www.youtube.com

 

반응형
Comments