Skip to content

๐Ÿ‘ป ๋‚˜์˜ ์ž‘๊ณ  ๊ท€์—ฌ์šด React Toast UI ๐Ÿ‘ป

Notifications You must be signed in to change notification settings

juunzzi/react-toast

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

10 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ‘ป ๋‚˜์˜ ์ž‘๊ณ  ๊ท€์—ฌ์šด React Toast UI ๐Ÿ‘ป

Wanna Be !

  • ๋„์›Œ์ง€๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜์€ ์ปค์Šคํ…€ํ•˜๊ฒŒ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€?
  • ๋„์›Œ์ง€๋Š” Toast UI๋ฅผ ์ปค์Šคํ…€ํ•˜๊ฒŒ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€?
  • NPM ์ถœ์‹œ๋Š” ์™„๋ฃŒํ•˜์˜€๋Š”๊ฐ€?
  • Static Typing์ด ๋˜์–ด์žˆ๋Š”๊ฐ€?
  • ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์€๊ฐ€?

๐Ÿฅฝ Preview

์ •์ƒ ๋™์ž‘

ํด๋ฆญํ•˜๋ฉด ๋‚ด๋ ค๊ฐ„๋‹ค

๋น ๋ฅธ ๋™์ž‘

๐Ÿ” Usage

์„ธ ์ค„ ์š”์•ฝ

  1. ToastProvider๋กœ Toast UI๋ฅผ ๋ณด์—ฌ์ค„ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ฐ์‹ผ๋‹ค.
  2. ๊ฐ์‹ผ ์ปดํฌ๋„ŒํŠธ์—์„œ useToast๋ฅผ ํ˜ธ์ถœํ•ด Toast UI๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•  ํ•จ์ˆ˜๋ฅผ ๋ฐ›๋Š”๋‹ค.
  3. ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ Toast UI๋ฅผ ๋ Œ๋”๋งํ•œ๋‹ค.

1. ToastProvider๋กœ Toast UI๋ฅผ ๋ณด์—ฌ์ค„ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ฐ์‹ผ๋‹ค.

// index.js

import React from "react";
import ReactDOM from "react-dom/client";
import TestContainer from "./@components/TestContainer";
import ToastProvider from "./@components/ToastProvider";

const root = ReactDOM.createRoot(document.getElementById("root"));

//TestContainer์—์„œ Toast UI๋ฅผ ์ถœ๋ ฅํ•  ๊ฒƒ์ด๋ฏ€๋กœ ToastProvider ์ปดํฌ๋„ŒํŠธ๋กœ ๊ฐ์‹ธ์ค€๋‹ค.

const root = ReactDOM.createRoot(document.getElementById("root"));
root.render(
  <React.StrictMode>
    <ToastProvider>
      <TestContainer />
    </ToastProvider>
  </React.StrictMode>
);

2. ๊ฐ์‹ผ ์ปดํฌ๋„ŒํŠธ์—์„œ useToast๋ฅผ ํ˜ธ์ถœํ•ด Toast UI๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•  ํ•จ์ˆ˜๋ฅผ ๋ฐ›๋Š”๋‹ค.

// @components/TestContainer/index.jsx

const TestContainer = () => {
  // useToast ํ›…์œผ๋กœ ๋ถ€ํ„ฐ Toast UI๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•  ํ•จ์ˆ˜๋ฅผ ๋ฐ›์•„๋‚ธ๋‹ค.
  const { displayMessage } = useToast();

  // ...
  
  return (
    <Styled.Root>
      <Styled.Button onClick={onClickTestContainer}>ํด๋ฆญํ•ด๋ณด์„ธ์š”</Styled.Button>
    </Styled.Root>
  );
};

3. ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ Toast UI๋ฅผ ๋ Œ๋”๋งํ•œ๋‹ค.

// @components/TestContainer/index.jsx

const TestContainer = () => {
  const { displayMessage } = useToast();
  
  // ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ `Toast UI`๋ฅผ ๋ Œ๋”๋งํ•œ๋‹ค.
  const onClickTestContainer = () => {
    displayMessage("์ค€์ฐŒ์ž…๋‹ˆ๋‹ค", false);
  };
  
  return (
    <Styled.Root>
      <Styled.Button onClick={onClickTestContainer}>ํด๋ฆญํ•ด๋ณด์„ธ์š”</Styled.Button>
    </Styled.Root>
  );
};

About

๐Ÿ‘ป ๋‚˜์˜ ์ž‘๊ณ  ๊ท€์—ฌ์šด React Toast UI ๐Ÿ‘ป

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published