9-2. WritePost 컴포넌트 틀 구성하기

이제 WritePost 컴포넌트를 본격적으로 구현하기전에 틀을 먼저 구성하여 페이지에서 띄운 다음에 브라우저에서 확인을 해가면서 컴포넌트를 만들어보겠습니다.

WritePost 는 홈 화면에 위치하게 되니, Home 으로 분류하겠습니다.

src/components/Home/WritePost/WritePost.js

import React from 'react';
import styled from 'styled-components';
import oc from 'open-color';
import { shadow } from 'lib/styleUtils';

const Wrapper = styled.div`
    width: 768px;
    margin: 0 auto;
    padding: 1rem;
    background: ${oc.gray[7]};
    ${shadow(1)}
`;

const WritePost = ({children}) => (
    <Wrapper>

    </Wrapper>
);

export default WritePost;

먼저, 회색 박스를 만들고 그림자를 씌워줬습니다. 이제, 이 컴포넌트를 기본 컴포넌트로 내보내도록 인덱스 파일을 반들겠습니다.

src/components/Home/WritePost/index.js

export { default } from './WritePost';

그 다음엔 WritePostContainer 를 만들겠습니다. 나중에 이 컴포넌트에 인풋 내용을 리덕스 상태에 연결시키고, 포스트 API도 여기서 호출 하게 됩니다. 일단은 컴포넌트를 먼저 브라우저에 띄워놓고, 상태 연동 작업은 나중에 하도록 하겠습니다.

src/containers/Home/WritePostContainer.js

import React, { Component } from 'react';
import WritePost from 'components/Home/WritePost';

class WritePostContainer extends Component {
    render() {
        return (
            <WritePost>

            </WritePost>
        );
    }
}

export default WritePostContainer;

이제 이 컴포넌트도 containers/Home 에 인덱스를 만들어줍시다.

src/containers/Home/index.js

export { default as WritePostContainer } from './WritePostContainer';

이제 어느정도 기본적인 준비가 끝났으니, 홈에서 띄워볼까요?

src/pages/Home.js

import React, { Component } from 'react';
import PageWrapper from 'components/Base/PageWrapper';
import { WritePostContainer } from 'containers/Home';

class Home extends Component {
    render() {
        return (
            <PageWrapper>
                <WritePostContainer/>
            </PageWrapper>
        );
    }
}

export default Home;

회색 박스가 떴다면 성공입니다.

results matching ""

    No results matching ""