[react] ThemeProvider ์‚ฌ์šฉํ•˜๊ธฐ

2024. 1. 20. 23:48ยท๐Ÿ–ฅ๏ธ react
728x90
๋ฐ˜์‘ํ˜•
๋ฐ˜์‘ํ˜•

๐Ÿ–ฅ๏ธ  ThemeProvider ?

์ง€์ •๋œ ๋””์ž์ธ ์‹œ์Šคํ…œ์„ ๋ชจ๋“  ์ฝ”๋“œ์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ !?

๊ทธ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ThemeProvider์ด๋‹ค.

React ์ปดํฌ๋„ŒํŠธ์—์„œ ํ…Œ๋งˆ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ์—ญํ• ์ด๋ผ๊ณ  ํ•œ๋‹ค. ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ•˜์œ„ ์ปดํฌ๋„ŒํŠธ์—์„œ ๊ณตํ†ต theme์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์ƒ‰์ƒ๊ฐ’์€ props๋ฅผ ํ†ตํ•ด ์ „๋‹ฌํ•œ๋‹ค.

 

 

๐Ÿ–ฅ๏ธ  ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ• ๊นŒ?

1. theme ํŒŒ์ผ์„ ๋งŒ๋“ค๊ณ , ํ•ด๋‹น ํŒŒ์ผ์— ์ƒ‰์ƒ์„ ์ง€์ •ํ•œ๋‹ค.

๋‹ค์Œ์€ ๋‚ด๊ฐ€ ์ง€์ •ํ•œ theme ์ƒ‰์ƒ์ด๋‹ค. 

// styles/theme.js

const theme = {
  colors: {
    background: "#121212",
    text: "#ececec",
    primary: "#63e6be",
    primary2: "#62E6BE",
    white1: "#F1F3F5",
    white: "#FFFFFF",
    unSelected: "#ACACAC",
    secondBlack: "#1E1E1E",
    divider: "#2A2A2A"
  },
};

export default theme;

 

 

2. import ํ•˜๊ธฐ

๊ทธ๋ฆฌ๊ณ  ํ•ด๋‹น ํŒŒ์ผ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ƒ๋‹จ์— import ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

import { ThemeProvider } from "styled-components";
import theme from "../../styles/theme";

 

 

3. App.js์— ์‚ฌ์šฉํ•˜๊ธฐ

import theme from "./styles/theme";
import Router from "./router/Router";

function App() {
  return (
    <ThemeProvider theme={theme}>
      <GlobalStyle />
      <Router />
    </ThemeProvider>
  );
}

export default App;

์ด๋ ‡๊ฒŒ ์ƒ์„ฑํ•œ ๊ฐ์ฒด๋ฅผ ThemeProvider์˜ props๋กœ ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค !!

 

 

4. ์‹ค์ œ ์ฝ”๋“œ์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ

background-color: ${theme.colors.background};

 

 

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด, theme ํŒŒ์ผ์— ์žˆ๋Š” ์ƒ‰์ƒ๋“ค์„ ๋‹ค๋ฅธ ํŒŒ์ผ์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค !!

 

 

 

 

728x90
๋ฐ˜์‘ํ˜•

'๐Ÿ–ฅ๏ธ react' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[react] dropdown ๋งŒ๋“ค๊ธฐ (์•„์ด์ฝ˜, ๋“œ๋กญ๋‹ค์šด)  (0) 2024.01.17
[react] react-dropdown ์ปค์Šคํ…€ ํ•˜๊ธฐ  (0) 2024.01.15
[react] markdown editor, viewer ๊ตฌํ˜„ํ•˜๊ธฐ  (2) 2023.01.29
[react] useEffect()  (0) 2022.12.27
styled components  (0) 2022.12.27
'๐Ÿ–ฅ๏ธ react' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [react] dropdown ๋งŒ๋“ค๊ธฐ (์•„์ด์ฝ˜, ๋“œ๋กญ๋‹ค์šด)
  • [react] react-dropdown ์ปค์Šคํ…€ ํ•˜๊ธฐ
  • [react] markdown editor, viewer ๊ตฌํ˜„ํ•˜๊ธฐ
  • [react] useEffect()
coram22
coram22
  • coram22
    ram2 ๐Ÿš—
    coram22
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (86)
      • ๐Ÿ’ง flutter (22)
      • ๐ŸŽ iOS (18)
      • ๐Ÿฉต CosPro (4)
        • python 2๊ธ‰ (4)
      • ๐Ÿˆ‍โฌ› git (3)
      • ๐Ÿ–ฅ๏ธ react (6)
      • ๐Ÿพ OS (1)
      • ๐Ÿ›œ ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ (6)
      • ๐ŸŒƒ computer vision (6)
      • ๐Ÿ“š ๋ฐฑ์ค€ (11)
      • ๐Ÿฃ My Story (1)
      • ๐Ÿ’ป else (8)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ๐Ÿˆโ€โฌ› github ๐Ÿˆโ€โฌ›
    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

    • ๐Ÿฑ Github ๐Ÿฑ
  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    SwiftUI
    ์ค‘๋„ํœดํ•™
    ์ •๋‹ต
    ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    Python
    dart
    ๊ณต์‹๋ฌธ์„œ
    Xcode
    OpenCV
    Git
    Computer Vision
    React
    ์ปด๋„ค
    ์˜ค๋ธ”์™„
    IOS
    UIKit
    Swift
    FLUTTER
    2๊ธ‰
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
coram22
[react] ThemeProvider ์‚ฌ์šฉํ•˜๊ธฐ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”