[React] Atomic Design
9841 단어 ReactTypeScripttech
이른바 Atomic Design
Atomic Design은 시스템을 설계하는 기법입니다.
디자인 시스템은 개념적인 것으로 간단하게 말하면 시스템 내의 디자인을 일치성을 가지도록 하는 시스템이다.
React Application이라면 먼저 MUI로 자신을 멋있게 만들어 보세요!이런 느낌.
Atomic Design는 층별로 설계 시스템을 구축하는 구조로 기본적으로 다음과 같이 구성된다.
Atoms - Molecules - Organisms - Templates - Pages
'등급'을 물으면 아톰스부터 순서대로 만들어진 것 같지만 실제로는 평행으로 일한다.
다양한 곳에서 논의했는데 답이 없을 수도 있지만 다음은 자신의 기준이다.
각 계층의 이름은 다음과 같습니다사이트 축소판 그림.
Atoms - Molecules - Organisms - Ecosystems - Environments
Atoms
버튼과 아이콘 등.아이콘과 태그의 조합도 Atoms
Molecules
Organisms
Zenn의 Top Page에서 "Tech"일람표를 표시하는Component는 여기에 있습니다
Ecosystems
Environments
설치 예
Atoms에 대한 정의를 통해 기능의 실현을 한정하는 예.
React(Type script, MUI)를 가정합니다.
Atoms
buttons, icons, inputs, labels, contaains처럼 하위 디렉터리를 만들고 파일 1 구성 요소로 만듭니다.
button 등 기본적인 것을 만들어 이를 바탕으로 필요한 button을 실시한다.
예를 들어 기본 기본 기본 버튼을, 기본 버튼을, 기본 버튼을, 오크 버튼을.
BaseButton.tsx
import React from 'react';
import Button, { ButtonProps } from '@mui/material/Button';
export type BaseButtonProps = Pick<ButtonProps, 'onClick'> & {
buttonLabel: string;
};
export const BaseButton: React.FC<BaseButtonProps> = (props) => {
return (
<Button
variant="contained"
onClick={props.onClick}
>
{props.buttonLabel}
</Button>
)
};
OkButton.tsximport React from 'react';
import BaseButton, { BaseButtonProps } from '~/views/atoms/buttons/BaseButton';
export type OkButtonProps = {
onOkButtonClick: BaseButtonProps['onClick'];
};
export const OkButton: React.FC<OkButtonProps> = (props) => {
return (
<BaseButton
onClick={props.onOkButtonClick}
>
OK
</BaseButton>
)
};
스타일드-component로 Buton spacing을 주는 것도 좋다.SpacingButton.tsx
import Button, { ButtonProps } from '@mui/material/Button';
import { spacing, SpacingProps } from '@mui/system';
import styled from 'styled-components';
export type SpacingButtonProps = SpacingProps & ButtonProps;
export const SpacingButton = styled(Button)`
${spacing}
`;
연관성Reference
이 문제에 관하여([React] Atomic Design), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/kosukek/articles/796865e0fbeea1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)