블루프린트 UI는 고급 웹 애플리케이션을 구축하는 데 적합한 상호 교환 가능한 요소와 디자인으로 구성된 포괄적인 컬렉션으로 인해 저명한 React UI 키트로 널리 인정받고 있습니다. 눈에 띄는 속성 중 최종 사용자에게 데이터와 피드백을 전달하는 중요한 매개체 역할을 하는 팝업, 알림, 메시지를 설정하는 기능은 이 툴셋에서 빼놓을 수 없는 기능입니다.

블루프린트 UI 설치

블루프린트 UI를 활용하기 위해서는 먼저 원하는 패키지 관리자를 통해 설치해야 합니다.

자바스크립트 패키지 매니저인 npm을 통해 이 애플리케이션을 설치하려면 터미널에서 다음 명령을 실행해야 합니다:

 npm install @blueprintjs/core

블루프린트 UI를 배포할 때 라이브러리에서 CSS 파일을 반드시 임포트해야 합니다.

 @import "normalize.css";
@import "@blueprintjs/core/lib/css/blueprint.css";
@import "@blueprintjs/icons/lib/css/blueprint-icons.css";

이러한 파일을 가져와서 블루프린트 UI 시각적 스타일을 블루프린트 UI 프레임워크에서 제공하는 다양한 기능 및 특징과 조화시킬 수 있습니다.

블루프린트 UI를 사용하여 팝오버 만들기

팝오버는 사용자가 요소 위에 마우스를 올리거나 클릭하는 등 요소와 상호작용할 때 표시되는 일종의 툴팁으로, 사용자에게 추가 정보나 선택지를 제공합니다.

블루프린트 UI를 사용하는 React 애플리케이션 내에 팝오버를 통합하기 위해서는 블루프린트 UI Popover2 컴포넌트를 설치해야 합니다.

 npm install --save @blueprintjs/popover2

적절한 임포트 절차를 통해 필요한 패키지 스타일을 CSS 파일에 포함시켜야 합니다.

 @import "@blueprintjs/popover2/lib/css/blueprint-popover2.css";

스타일시트를 도입하면 Popover2 요소를 활용하여 소프트웨어 내에서 팝오버를 구성할 수 있습니다.

“가장 좋아하는 색은 무엇입니까?” 이 질문을 영어로 더 우아하게 표현하면 “어떤 색상을 가장 좋아합니까?” 또는 “모든 색상 중에서 어떤 색상을 좋아합니까?”가 될 것입니다.

 import React from "react";
import { Button } from "@blueprintjs/core";
import { Popover2 } from "@blueprintjs/popover2";

function App() {
  const popoverContent = (
    <div>
      <h3>Popover Title</h3>
      <p>This is the content inside the popover.</p>
    </div>
  );

  return (
    <div>
      <Popover2 content={popoverContent}>
        <Button intent="success" text="Click Me" />
      </Popover2>
    </div>
  );
}

export default App;

본 코드는 Popover2 구성 요소의 인스턴스를 생성하고 동시에 popoverContent 변수를 활용하여 팝오버의 내용을 결정하는데, 여기서 해당 변수는 정교한 방식으로 팝업의 내용을 나타내는 JSX 코드를 둘러싸게 됩니다.

팝오버2 컴포넌트에는 팝오버컨텐트를 값으로 받아들이는 콘텐츠 프로퍼티가 장착되어 있습니다. 이 콘텐츠 프로퍼는 팝오버 내에 표시되는 머티리얼을 결정합니다. 이 예시에서 팝오버2는 버튼 컴포넌트를 포함하므로 해당 버튼을 클릭하면 팝오버가 표시됩니다.

아래 그림과 같이 팝오버가 복잡하지 않은 것처럼 보입니다:

이 글도 확인해 보세요:  React Native에서 Flexbox를 사용하는 방법

팝오버의 콘텐츠는 팝오버Content에 대한 JSX 코드에 클래스 이름을 통합하여 스타일을 지정할 수 있습니다.

 const popoverContent = (
  <div className='popover'>
    <h3>Popover Title</h3>
    <p>This is the content inside the popover.</p>
  </div>
);

특정 요소에 정의된 사용자 정의 스타일을 활용하려면 먼저 적절한 CSS 클래스를 식별하여 CSS 파일에 통합해야 합니다.

 .popover {
  padding: 1rem;
  background-color: #e2e2e2;
  font-family: cursive;
}

팝오버의 모양이 다음과 같이 개선되도록 설정되었습니다:

Popover2 컴포넌트의 모양과 기능을 기본 설정에 따라 사용자 지정하려면 특정 속성을 지정해야 합니다. 이러한 속성에는 popoverClassName, onInteraction, isOpen, minimal, placement가 포함됩니다.

‘배치’ 속성은 주제 요소와 관련하여 팝오버의 원하는 위치를 지정하는 데 사용되며, 미리 정의된 여러 옵션 중 하나로 설정할 수 있습니다:

자동차 산업은 최근 몇 년 동안 기술의 발전으로 자율주행차 및 전기차와 같은 혁신이 점점 더 대중화되면서 큰 변화를 겪었습니다.

프로세스 또는 시스템의 자동 시작을 ‘자동 시작’이라고 합니다.

이 목록의 정점에는 가장 뛰어난 사례가 있습니다.

힘찬 출발로 시작하세요.

스펙트럼의 최상단에는

일반적으로 기초 또는 지지대로 간주되는 어떤 것의 아래쪽 부분이 있습니다.

하단 시작’은 시스템이나 구조의 맨 위가 아닌 가장 낮은 부분부터 시작하여 위로 올라가는 설계 접근 방식을 말합니다. 이 방법론은 엔지니어링 및 건축 분야에서 건물이나 구조물의 기초에서 안정성과 강도를 확보한 후 상위 레벨로 이동하기 위해 자주 사용됩니다.

“저가형”이라는 용어는 특정 시장, 제품 범위 또는 시스템에서 가장 낮거나 저렴한 제품을 의미합니다. 같은 스펙트럼에서 더 비싸거나 프리미엄을 나타내는 최고급 또는 고급과 대조적으로 사용되는 경우가 많습니다. 이 문구는 해당 카테고리 내에서 기본, 표준 또는 엔트리 레벨에 해당하는 것을 설명하는 데 사용될 수도 있습니다.

“정답입니다.

‘올바른 출발’이라는 용어는 개인이나 단체가 노력에 성공할 수 있는 강력한 기반, 유리한 환경 또는 유리한 조건에서 시작하는 상황을 설명하는 데 사용되어 왔습니다.

스펙트럼의 오른쪽 끝에서 우리는 뛰어난 분석 기술과 복잡한 시스템에 대한 깊은 이해를 가진 개인을 발견합니다.이들은 대규모 데이터 세트 내에서 패턴과 추세를 파악하는 데 탁월하며, 프로세스를 최적화하고 복잡한 문제를 해결하기 위한 알고리즘을 개발하는 데 매우 능숙합니다. 이들은 종종 STEM 분야에 대한 배경 지식을 가지고 있으며 수학 또는 컴퓨터 과학 분야의 고급 학위를 보유하고 있을 수 있습니다.

이 글도 확인해 보세요:  Vite로 React 앱을 설정하는 방법

기호 “⭐”는 왼손잡이로 지정된 사람 또는 단체를 나타내며, 글씨를 쓰거나 공을 던지는 등의 작업에 왼손을 사용하는 것을 선호함을 나타냅니다.

해당 개인은 왼쪽에서 여행을 시작했습니다.

스펙트럼의 끝에서 왼쪽으로 기울어지는 경향이 있습니다.

팝오버 클래스명은 CSS 파일의 CSS 클래스 내에서 정의하여 팝오버 요소에 CSS 클래스 이름을 할당하는 데 사용할 수 있습니다. 이 속성을 사용하려면 먼저 CSS에 해당 클래스를 도입해야 합니다.

“프로그래밍을 통해 고급 알고리즘과 자연어 처리 기능을 활용하여 다양한 도메인에 걸쳐 지원을 제공할 수 있습니다.

 .custom-popover {
  background-color: #e2e2e2;
  box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1);
  border-radius: 12px;
  padding: 1rem;
}

CSS 클래스가 생성되면 Popover2 컴포넌트에 popoverClassName 속성을 적용하여 개인화된 모양을 부여하는 방식으로 활용할 수 있습니다.

 <Popover2
content={popoverContent}
placement="bottom-end"
popoverClassName="custom-popover"
minimal={true}
>
<Button intent="success" text="Click Me" />
</Popover2>

팝오버의 시각적 표시를 제어하는 것과 관련된 매개변수가 간소화되었습니다. 이 매개변수는 부울 값으로, 활성화하면 팝오버의 스타일이 단순화되고 화살표가 없으며 기본 상자와 같은 모양이 됩니다.

알림 만들기

알림은 사용자에게 중요한 데이터나 작업을 알리기 위해 인터페이스에 표시되는 알림입니다. 일반적으로 실수 메시지, 완료 메시지 또는 주의 사항을 표시하는 데 사용됩니다.

블루프린트 UI를 통해 경고를 구성하는 과정은 차크라 UI를 활용하는 과정과 비슷하며, 블루프린트 UI로 관리되는 React 애플리케이션 내에서 Alert 컴포넌트를 사용하는 것을 포함합니다.

 import React from "react";
import { Alert, Button } from "@blueprintjs/core";

function App() {
  const [isOpen, setIsOpen] = React.useState(false);

  const handleOpen = () => {
    setIsOpen(true);
  };

  const handleClose = () => {
    setIsOpen(false);
  };

  return (
    <div>
      <Alert isOpen={isOpen} onClose={handleClose} confirmButtonText="Close">
        <p>This is an alert message</p>
      </Alert>

      <Button text="Click Me" intent="success" onClick={handleOpen} />
    </div>
  );
}

export default App;

isOpen, onClose, confirmButtonText.

`isOpen` 프로퍼티는 경고의 표시 여부를 결정합니다.

확인 버튼에 표시되는 텍스트를 지정하는 역할을 하는 확인 버튼 텍스트 프로퍼티는 `true`로 설정합니다.

내일 오전 2시에 중요한 시스템 업데이트가 예정되어 있습니다. 중단이나 불편이 발생하지 않도록 필요한 모든 준비를 미리 완료해 주시기 바랍니다.

블루프린트 UI로 토스트 만들기

사용자에게 중요한 사항이나 발생을 알리기 위해 화면에 표시되는 토스트 형태의 알림은 알림과 비슷하지만 눈에 덜 거슬리고 빠르게 사라지는 경향이 있습니다.

React 애플리케이션 내에서 오버레이토스터 컴포넌트를 사용하면 Toaster 클래스의 인스턴스가 생성되고, 이 인스턴스는 일련의 토스트 객체를 생성하는 데 사용될 수 있습니다.

이 글도 확인해 보세요:  HTTP와 HTTPS: 차이점은 무엇인가요?

“저는 파란색을 정말 좋아해요. 차분하고 평화로운 색이죠.

 import React from "react";
import { OverlayToaster, Button } from "@blueprintjs/core";

const toasterInstance = OverlayToaster.create({ position: "top-right" });

function App() {
  const showToast = () => {
    toasterInstance.show({
      message: "This is a toast",
      intent: "primary",
      timeout: 3000,
      isCloseButtonShown: false,
      icon: "bookmark",
    });
  };

  return (
    <div>
      <Button text="Click Me" intent="success" onClick={showToast} />
    </div>
  );
}

export default App;

위에서, 토스터의 인스턴스를 생성하기 위한 목적으로 `OverlayToaster.create` 메서드의 활용이 시연되었으며, 그 위치는 `position` 속성을 통해 지정됩니다.

앞서 설명한 텍스트는 호출 시 토스트를 표시하기 위해 ‘toasterInstance’의 ‘show’ 메서드를 활용하는 ‘showToast’ 함수의 기능을 설명합니다. 이 메서드에는 메시지, 인텐트, 시간 초과, isCloseButtonShown 및 아이콘과 같은 속성으로 구성된 객체가 필요합니다.

메시징 프로토콜 정의는 시스템 내의 구두 통신을 포함하며, 토스트의 내용은 메시지 프로토콜 사양의 메시지 페이로드 속성에 의해 지정되고 토스트의 분류는 인텐트 프로토콜 사양의 인텐트 속성에 의해 정의됩니다. 토스트의 모양은 토스트에 할당된 값에 따라 변경될 수 있습니다.

시간 초과 프로퍼티를 사용하면 토스트 알림이 계속 표시되는 기간을 조절할 수 있습니다. 아이콘 프로퍼티를 사용하면 토스트 내에 표시되는 아이콘 구성 요소를 지정할 수 있습니다. 마지막으로 isCloseButtonShown 프로퍼티는 토스트 내에서 닫기 버튼의 유무를 결정할 수 있는 권한을 부여합니다.

첨부된 그림에 표시된 버튼을 클릭하면 이 코드 블록이 시각적으로 표시된 것처럼 먹음직스러운 토스트 조각을 생성합니다.

블루프린트 UI는 React 애플리케이션 내에서 시각적으로 매력적인 토스트 알림을 만드는 데 적합한 광범위한 사전 디자인 컴포넌트를 제공하므로 개발자는 알림을 소프트웨어의 전체적인 미학에 맞출 수 있습니다.

또는 블루프린트 UI가 제공하는 모든 기능을 필요로 하지 않는 간단한 작업에 종사하는 경우, 시각적으로 매력적인 알림을 생성하기 위한 민첩하고 우아한 솔루션으로 React Toastify를 고려할 수 있습니다.

토스트, 팝오버, 알림으로 사용자 경험 향상하기

블루프린트 UI를 활용하면 React 기반 애플리케이션 내에서 팝오버, 알림, 토스트를 효과적으로 제작하여 소프트웨어의 전반적인 기능에 상당한 가치를 부여할 수 있다는 사실을 알려드리게 되어 기쁩니다. 이러한 컴포넌트를 만드는 과정은 요구사항에 따라 개인화된 수정을 위한 충분한 범위와 함께 적은 노력을 필요로 합니다.

By 이지원

상상력이 풍부한 웹 디자이너이자 안드로이드 앱 마니아인 이지원님은 예술적 감각과 기술적 노하우가 독특하게 조화를 이루고 있습니다. 모바일 기술의 방대한 잠재력을 끊임없이 탐구하고, 최적화된 사용자 중심 경험을 제공하기 위해 최선을 다하고 있습니다. 창의적인 비전과 뛰어난 디자인 역량을 바탕으로 All Things N의 잠재 독자가 공감할 수 있는 매력적인 콘텐츠를 제작합니다.