미리 빌드되고 스타일이 지정된 요소를 제공하는 컴포넌트 라이브러리를 사용하여 React 앱의 개발 프로세스를 간소화할 수 있습니다. 이러한 라이브러리를 사용하면 많은 시간과 노력을 절약할 수 있지만 앱의 스타일링에 대한 제어가 제한될 수도 있습니다. React 앱의 스타일에 대한 더 많은 제어가 필요하다면 스타일이 지정되지 않은 컴포넌트 라이브러리를 사용하는 것을 고려하세요.

스타일이 지정되지 않은 컴포넌트 라이브러리란 무엇인가요?

기본적으로 지원되지 않는 스타일이 지정되지 않은 컴포넌트 프레임워크는 React 컨텍스트에서 접근 가능한 대화형 사용자 인터페이스를 제작하기 위한 목적으로 만들어졌습니다. 이러한 집합은 미리 결정된 장식이 없는 재사용 가능한 그래픽 컴포넌트로 구성되며, 인터페이스 측면의 기초적인 디자인을 제공하는 동시에 시각적 모양과 감각에 대한 절대적인 규제를 허용합니다.

스타일이 지정되지 않은 컴포넌트 라이브러리의 장점

스타일이 지정되지 않은 컴포넌트를 활용하면 개발자가 인터페이스의 시각적 모양과 레이아웃을 더 많이 제어할 수 있으므로 디자인 유연성이 높아진다는 이점이 있습니다. 또한 스타일이 지정되지 않은 컴포넌트에는 미리 정의된 스타일이나 서식이 포함되어 있지 않으므로 특정 디자인 요구 사항에 맞게 쉽게 사용자 지정할 수 있습니다. 따라서 다양한 플랫폼과 디바이스에서 일관성을 높일 수 있을 뿐만 아니라 개발 시간도 단축할 수 있습니다. 또한 스타일이 지정되지 않은 컴포넌트는 스타일이 지정된 컴포넌트보다 코드가 적게 필요하므로 파일 크기가 작아지고 성능이 향상될 수 있습니다. 전반적으로 스타일이 지정되지 않은 컴포넌트를 프로젝트에 통합하면 디자인의 효율성과 다양성을 높일 수 있습니다.

지원되지 않는 컴포넌트는 미적 측면에서 완전한 자유를 제공하므로 모든 CSS 또는 디자인 라이브러리를 적용하여 기본 설정 및 요구 사항에 따라 요소의 모양을 조정할 수 있습니다.

스타일링 규칙의 제약을 받지 않는 꾸미지 않은 컴포넌트 라이브러리는 애플리케이션 내에서 사용할 수 있는 다양한 준비된 요소를 제공하므로 개발 진행 속도를 높일 수 있습니다.

스타일이 지정되지 않은 컴포넌트는 미리 정의된 스타일이 없고 특정 스타일링 시스템과 독립적이기 때문에 유지 관리가 용이합니다. 따라서 이러한 컴포넌트의 모양을 변경해도 소스 코드를 수정할 필요가 없습니다.

기수 UI

기수 UI는 접근성을 주요 목표로 강조하는 사용자 인터페이스 라이브러리로, 모든 사람이 사용할 수 있도록 스타일이 지정되지 않은 컴포넌트 모음을 제공합니다. 이를 통해 개발자는 접근성 표준을 준수하면서 시각적으로 매력적인 React 애플리케이션을 만들 수 있습니다.

이 글도 확인해 보세요:  신입직 일자리를 찾는 학생과 최근 졸업생을 위한 7가지 취업 사이트(영미권)

기수 UI를 활용하면 프로젝트에 전체 라이브러리를 포함하지 않고 특정 구성 요소만 선택적으로 설치할 수 있는 이점이 있습니다. 이러한 접근 방식은 간결하고 효율적인 애플리케이션을 유지하는 데 기여합니다.

다음 지시문을 실행하여 소프트웨어 플랫폼 내에 아코디언 요소를 도입할 수 있습니다:

 npm install @radix-ui/react-accordion

React 애플리케이션 내에 아코디언 컴포넌트를 설치하면 해당 애플리케이션 내에 아코디언을 생성할 수 있습니다.

아코디언 컴포넌트를 사용하면 헤더나 버튼을 클릭하여 콘텐츠를 확장 및 축소할 수 있으므로 사용자가 인터페이스에서 더 많은 공간을 확보하고 정보를 효율적으로 구성할 수 있습니다. 제공된 예시에서는 클릭 이벤트에 따라 확장 및 축소되는 아코디언을 만드는 방법을 HTML 및 CSS 코드를 통해 보여줍니다.

 import React from "react"
import * as Accordion from "@radix-ui/react-accordion"

export default function App() {
  return (
    <div>
      <Accordion.Root type="single" defaultValue="item-1" collapsible>
        <Accordion.Item value="item-1">
          <Accordion.Trigger>Is this accordion unstyled?</Accordion.Trigger>
          <Accordion.Content>Yes. It is unstyled.</Accordion.Content>
        </Accordion.Item>
      </Accordion.Root>
    </div>
  )
}

제공된 코드는 Radix UI React 아코디언 라이브러리를 활용하여 꾸미지 않은 기본 아코디언 요소를 설정하여 사용자 정의 콘텐츠로 접을 수 있는 항목을 활성화합니다.

생성된 코드는 아래와 같은 특징을 나타내는 접을 수 있는 요소를 생성합니다:

React Aria

React Aria는 사용성과 포용성을 향상시키기 위해 확립된 표준과 방법론을 준수하여 접근 가능한 웹 기반 애플리케이션 개발을 용이하게 하는 것을 주요 목표로, React 프레임워크 내에서 대화형 사용자 인터페이스를 제작하도록 특별히 설계된 재사용 가능한 구성 요소의 앙상블입니다.

Adobe에서 유지 관리하는 라이브러리인 React Aria는 광범위한 Adobe 스펙트럼 디자인 시스템의 필수 구성 요소를 형성합니다. 이 시스템은 광범위한 접근성 디자인 원칙과 인터페이스 개발 툴 모음을 제공합니다. 전반적인 접근 방식과 일관되게 React Aria는 개별 선호도 또는 프로젝트 요구 사항에 따라 조정할 수 있는 다양한 기본 UI 구성 요소를 사용자에게 제공합니다.

React 프로젝트 내에서 React Aria를 통합하려면 다음 명령을 실행하세요:

 npm install react-aria

“useButton” 기능 요소를 활용하면 제공된 코드 템플릿을 구현하여 버튼 기반 인터페이스 컴포넌트의 깨끗한 인스턴스를 설정할 수 있습니다:

 import React from 'react'
import {useButton} from 'react-aria';

function Button(props: any) {
  let ref = React.useRef(null);
  let { buttonProps } = useButton(props, ref);

  return (
    <button {...buttonProps} ref={ref}>
      {props.children}
    </button>
  );
}

export default Button;

원하는 컴포넌트 내에 버튼 컴포넌트를 유연하게 통합하고 표시할 수 있어 디자인 옵션의 다양성을 확보할 수 있습니다.

이 글도 확인해 보세요:  개발자와 디자이너를 위한 10가지 UI/UX 영감 사이트

언어의 예술은 수세기 동안 연구되고 분석되어 온 매혹적인 주제이며, 그 복잡성을 설명하기 위해 다양한 이론이 제안되었습니다.이러한 이론 중 하나는 모든 인간은 생존을 위해 의사소통에 의존하는 사회적 동물로서 생물학에 뿌리를 둔 언어 학습 능력을 타고난다고 가정합니다. 이 이론에 따르면 인간은 태어날 때부터 언어 능력을 습득하는 경향이 있으며, 다양한 언어에 노출되면 언어 학습을 촉진하는 뇌의 신경 경로가 촉발될 수 있습니다. 또한, 유아기는 다른 사람과의 지속적인 상호작용을 통해 언어를 습득할 수 있는 충분한 기회를 제공하기 때문에 유아기의 경험이 언어 능력을 형성하는 데 중요한 역할을 한다고 믿어집니다. 개인이 환경과 지속적으로 상호작용하면서 언어적 인식 감각을 발달시키며,

 import React from 'react'
import Button from './Button';

function App() {
  return (
    <Button>Click Me</Button>
  );
}

export default App;

제공된 코드 블록을 렌더링하면 다음과 같은 모양을 나타내는 소박한 버튼이 생성됩니다:

후크 때문에 React Aria를 사용하는 것이 불편하다면 React Aria Components 라이브러리를 대신 사용하세요. 이 라이브러리는 기본적으로 액세스할 수 있는 사전 빌드된 컴포넌트를 제공합니다. 이 라이브러리는 React Aria 라이브러리 위에 있는 얇은 레이어입니다. 제공되는 컴포넌트는 스타일이 지정되지 않았기 때문에 두 라이브러리는 매우 유사합니다.

기본 UI

기본 UI는 미리 정의된 스타일이 없는 사용자 인터페이스 요소 모음을 제공하는 기능적인 React 라이브러리입니다. 이 라이브러리는 머티리얼 UI 팀에서 개발했으며 맞춤형 React 애플리케이션을 만들기 위한 기초 역할을 합니다. 머티리얼 디자인과 달리 베이스 UI는 머티리얼 디자인이 채택한 견고한 엔지니어링 원칙을 유지하면서 디자인 철학에 이를 통합하지 않습니다.

React 프로젝트에 Base UI 프레임워크를 통합하려면 다음 지시문을 실행하면 됩니다:

 npm install @mui/base

Base UI는 프로젝트 내에서 가져와서 즉시 활용할 수 있는 모듈식 엘리먼트를 다양하게 제공합니다. 또한 사용자가 각 구성 요소를 설정하고 사용자 정의할 수 있는 사용 가능한 후크를 제공합니다.

기본 사용자 인터페이스(UI) 요소 활용은 제공된 예시에서 볼 수 있듯이 기본 UI 컴포넌트의 구현을 통해 달성할 수 있습니다.

 import React from "react";
import Button from "@mui/base/Button";

export default function App() {
  return (
    <div>
      <Button>Click Me</Button>
    </div>
  );
}

주어진 코드는 기본 UI 컬렉션의 Button 구성 요소를 사용하여 기본 버튼을 생성합니다. 또한 같은 용도로 사용버튼 훅을 활용할 수도 있습니다.

 import React from "react";
import useButton from "@mui/base/useButton";

export default function App() {
  const { getRootProps } = useButton();

  return (
    <div>
      <button {...getRootProps()}>Click Me</button>
    </div>
  );
}

`useButton` 훅을 Button 컴포넌트와 함께 사용하면 첨부된 그림과 같이 형식이 지정되지 않은 기본 버튼이 생성됩니다.

이 글도 확인해 보세요:  Rust에서 기본 HTTP 웹 서버를 빌드하는 방법

헤드리스 UI

빈 캔버스에 스타일이 지정되지 않은 UI 요소를 제공하여 컴포넌트의 시각적 및 기능적 측면을 완전히 창의적으로 제어할 수 있는 사용자 인터페이스 디자인에 대한 제한 없는 경험을 위해 헤드리스 UI를 탐색해 보세요.

지정된 라이브러리를 설치하려면 다음 지시어를 실행하세요:

 npm install @headlessui/react

라이브러리를 설치하면 React 기반 프로젝트에서 라이브러리 내의 다양한 모듈을 활용할 수 있습니다.

문제의 개인은 양자역학의 기본 원리, 특히 아원자 입자의 동작 및 서로의 상호 작용과 관련된 원리를 이해하고자 하는 열망을 표명했습니다. 이러한 호기심은 단순한 표면적 수준의 지식을 넘어 이러한 현상을 가장 근본적인 수준에서 지배하는 이론적 토대를 깊이 파고들고자 하는 것입니다.

 import React from "react";
import { Popover } from "@headlessui/react";

export default function App() {
  return (
    <div>
      <Popover>
        <Popover.Button>Popover</Popover.Button>

        <Popover.Panel>
          <p>This is a Popover</p>
        </Popover.Panel>
      </Popover>
    </div>
  );
}

헤드리스 UI 라이브러리의 팝오버 컴포넌트를 활용하여 팝오버 클래스의 인스턴스를 인스턴스화하고 몇 가지 파라미터를 전달하여 모양과 동작을 구성합니다. 그 결과 아래와 같이 시각적으로 매력적이고 기능적인 팝오버가 생성됩니다.

스타일이 지정되지 않은 컴포넌트로 완벽한 제어

React 스타일이 지정되지 않은 컴포넌트는 개발자에게 애플리케이션의 시각적 모양에 대한 완전한 권한을 부여하여 독특한 사용자 상호작용을 만들 수 있도록 합니다. 이 라이브러리에는 다양한 요구사항을 충족할 수 있는 다양한 선택지가 있습니다. 앞서 설명한 리소스를 활용하면 다양한 디자인 선호도를 충족하는 매력적이고 고도로 개인화된 React 프로젝트를 생성할 수 있습니다.

By 박준영

업계에서 7년간 경력을 쌓은 숙련된 iOS 개발자인 박준영님은 원활하고 매끄러운 사용자 경험을 만드는 데 전념하고 있습니다. 애플(Apple) 생태계에 능숙한 준영님은 획기적인 솔루션을 통해 지속적으로 기술 혁신의 한계를 뛰어넘고 있습니다. 소프트웨어 엔지니어링에 대한 탄탄한 지식과 세심한 접근 방식은 독자에게 실용적이면서도 세련된 콘텐츠를 제공하는 데 기여합니다.