[react]トピック-(暗いモード1)
styled-コンポーネントのトピックを理解します.
ダークモード/ライトモードが実施される場合、50%の役割は
残りの50%は
テーマは何ですか.
Thomeは
次に、
私たちは
ダークモード/ライトモードが実施される場合、50%の役割は
theme
である.正式に実施する前に、theme
を理解したほうがいいです.残りの50%は
local Estate Manangement
で、この部分はまずtheme
から理解しましょう.テーマは何ですか.
Thomeは
모든 색상들
を持つデフォルトのオブジェクトです.使用するすべての色をオブジェクトに配置するため、非常に便利です.これから色を変えるときは객체
の中のvalue
に変えればいいので// index.js에서..
import React from "react";
import ReactDOM from "react-dom";
import { ThemeProvider } from "styled-components"; // (1)
import App from "./App";
const darkTheme = {
textColor: "whiteSmoke",
backgroundColor: "#111",
}
const lightTheme = {
textColor: "#111",
backgroundColor: "whiteSmoke",
}
ReactDOM.render(
<React.StrictMode>
<ThemeProvider theme={darkTheme}>
<App />
</ThemeProvider>
</React.StrictMode>,
document.getElementById("root")
);
まず、ThemeProvider
を導入し、その後、アプリケーションコンポーネントをThemeProvider
にカプセル化する.次に、
ThemeProvider
の上にtheme
という道具が置かれ、このtheme
は前述したすべての色を持つ객체
である.単純な暗いモードを作成するので、フォントの色と背景の色だけを指定します.光源モードを暗いモードの반전
と宣言します.私たちは
ThemeProvider
でアプリケーションコンポーネント自体をパッケージしました.そのため、中のすべてのstyled
コンポーネントがよろしければ、propに渡されたtheme
に近づくことができます.const Title = styled.h1`
color: ${props => props.theme.textColor};
`
const Wrapper = styled.div`
display: flex;
justify-content: center;
align-items: center;
width: 100vw;
height: 100vh;
background-color: ${props => props.theme.backgroundColor};
`
function App() {
return (
<Wrapper>
<Title>Hello</Title>
</Wrapper>
);
}
ThemeProvider
のtheme
props値のみをlightTheme
に変更すると、光源モードとdarkTheme
モードに変更すると、非常に簡単に暗いモードに変更できます.Reference
この問題について([react]トピック-(暗いモード1)), 我々は、より多くの情報をここで見つけました https://velog.io/@uiseop/React-Theme-다크모드-1テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol