진행하는 프로젝트의 버튼을 공통컴포넌트로 사용하고 싶어 개발해보았다.
1. 우선 button 의 html 속성을 알아야한다.
속성을 확인한 후에 사용할 것만 외부에서 props로 주입해서 사용할 수 있게 만들어준다.
disabled => 해당 버튼이 비활성화됨을 명시
class => css 스타일
onclick => 이벤트 함수
그 밖,
<button> </button>으로 감싸며 입력한 내용을 label로 정의할 예정
2. React로 Component로 변환
props로 받아오는 요소는
label => span 태그로 버튼 내부의 글을 나타냄
styleClass => 적용될 className
disabled => true, false로 활성화 비활성화 조절
onClick => onClick이 일어날 시의 이벤트에 대응
import React from 'react';
export default function (props) {
const { label, styleClass, onClick, disabled} = props;
return (
<button className={styleClass} onClick={onClick} disabled={disabled}>
{label}
</button>
);
}
3. 다른 컨테이너에서 선언하여 사용
import Button from './components/common/Button';
<Button
label="프론트엔드"
stylesClass=""
onClick={()=> {
alert('클릭됐다!');
}}
disabled={false}
/>
결과물
스타일링을 안해서 못생겼지만 우선 기능적으로 공통 컴포넌트는 위와 같이 사용하면 된다.
'[React] Front-End' 카테고리의 다른 글
[TypeScript] 타입스크립트 기본 / 타입 / 연습 (0) | 2021.10.18 |
---|---|
[Deploy]우여곡절 많은 React netlify 배포 Page Not Found 와 Deploy Failed의 향연 (0) | 2021.10.12 |
[FE] fetch web APIs VS Axios 라이브러리의 차이점/공통점/예시 (0) | 2021.10.11 |
TIL 읽을거리 : CSS Modules / BEM 규칙 / Primitive Type / 스코프와 클로저 / React의 디자인 패턴 (0) | 2021.10.09 |
[React/Hooks] Nooks! #01 (0) | 2021.09.25 |