Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 조코딩
- 자바 switch문
- 자바 공배수
- java
- 항해99 2기
- 자바 조건문
- 이클립스 DB연동
- 자바 public
- 자바 삼항연산자
- 정보처리기사실기
- 자바 자동캐스팅
- Vue3
- 자바 if문
- 자바 강제 캐스팅
- 프로그래머스
- 항해99
- TypeScript
- MySQL
- Til
- 자바
- 자바 구구단 출력
- react with typescript
- 자바 반복문
- 자바 for문
- 자바 향상된 for문
- 타입스크립트
- react ag grid
- 변수
- 자바 while문
- 자바 스캐너
Archives
- Today
- Total
뇌 채우기 공간
[REACT] 컴포넌트 쪼개기/ 포스트 보이는 메인페이지 만들기 / 최소단위 컴포넌트 만들기 / Grid와 이미지 컴포넌트 (2) 본문
WEB/REACT
[REACT] 컴포넌트 쪼개기/ 포스트 보이는 메인페이지 만들기 / 최소단위 컴포넌트 만들기 / Grid와 이미지 컴포넌트 (2)
자바칩 프라푸치노 2021. 7. 2. 16:05최소단위 컴포넌트 만들기
1. 컴포넌트를 이루는 요소를 만들자 - Grid 잡기
styled-components 설치
yarn add styled-components
Grid잡기
elements 폴더에 만들어준다.
(1) props로 받아온 값이 없을때 기본값 설정
(2) styled-component지정
(3) 받아오기
Grid의 props에서부터 is_flex, width, ..등등으로 받아온다.
그리고 그 중 style에 관련된 값을 styles라는 변수에 가져온다.
그리고 GridBox한테 styles내용을 넘겨준다.
그리고 Grid안에 내용들이 보여야하기 때문에 children을 받아온다
코드보기
더보기
import React from "react";
import styled from "styled-components";
const Grid = (props) => {
const { is_flex, width, margin, padding, bg, children } = props;
const styles = {
is_flex: is_flex,
width: width,
margin: margin,
padding: padding,
bg: bg,
};
return (
<React.Fragment>
<GridBox {...styles}>{children}</GridBox>
</React.Fragment>
);
};
Grid.defaultProps = {
chidren: null,
is_flex: false,
width: "100%",
padding: false,
margin: false,
bg: false,
};
const GridBox = styled.div`
width: ${(props) => props.width};
height: 100%;
box-sizing: border-box;
${(props) => (props.padding ? `padding: ${props.padding};` : "")}
${(props) => (props.margin ? `margin: ${props.margin};` : "")}
${(props) => (props.bg ? `background-color: ${props.bg};` : "")}
${(props) =>
props.is_flex
? `display: flex; align-items: center; justify-content: space-between; `
: ""}
`;
export default Grid;
1. 컴포넌트를 이루는 요소를 만들자 - Image 컴포넌트 만들기
프로필 사진이 보이는 동그라미 작은 이미지와
포스트에 있는 커다란 네모 이미지가 있다.
(1) 기본값 설정
(2) style component만들기
네모 이미지는 반응형이어야하기 때문에
width를 100%로 주었다.
그리고 inner네모는 padding-top을 75%주어서 4:3비율을 맞춰주었다
(이부분 무슨 말인지 모르겠음)
(3) 동그라미? 네모?
props에서 받아온 shape에 따라 다른 스타일을 보여준다.
(4) 포스트에서 불러와보자
<결과>
728x90
'WEB > REACT' 카테고리의 다른 글
[REACT] React로 캘린더 만들기 (2) - month이동하기, 요일써주기 (0) | 2021.07.05 |
---|---|
[REACT] React로 캘린더 만들기 (1) - Header에서 현재 날짜와 달을 표시하기 (0) | 2021.07.05 |
[REACT] 컴포넌트 쪼개기/ 포스트 보이는 메인페이지 만들기 / 가장 큰 단위, 중간단위 (1) (0) | 2021.07.02 |
[REACT] 리액트 프로젝트 세팅/ 크롬 react 확장 프로그램 (0) | 2021.07.02 |
[REACT] input상태 관리하기, input값 나타내고 초기화하기 (0) | 2021.07.02 |