inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

타입스크립트로 배우는 리액트(React.js) : 기초부터 최신 기술까지 완벽하게

styled-components (전역)

styled-components(전역)

3

잠댕뭉

작성한 질문수 1

0

 

// main.tsx
import { StrictMode } from "react";
import { createRoot } from "react-dom/client";
import App from "./App.tsx";
import { ThemeProvider } from "styled-components";

const theme = {
  colors: {
    primary: "red",
    secondary: "#gray",
  },
  fontSizes: {
    normal: "16px",
    large: "20px",
  },
};
createRoot(document.getElementById("root")!).render(
  <StrictMode>
    <ThemeProvider theme={theme}>
      <App />
    </ThemeProvider>
  </StrictMode>,
);

// App.tsx
import styled, { keyframes, css } from "styled-components";

const boxShadowMixin = css`
  margin: 20px;
  box-shadow: 0px 10px 10px rgba(0, 0, 0, 0.5);
`;

const fadeIn = keyframes`
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
`;

const Title = styled.h1<{ $color: string; $decoration: string }>`
  color: ${(props) => props.$color};
  text-decoration: ${(props) => props.$decoration};
  animation: ${fadeIn} 2s ease-in;
`;

const BigTitle = styled(Title)`
  font-size: 50px;
`;

const Wrapper = styled.section`
  padding: 2rem;
  border: 1px solid red;
`;

const BlueBorderWrapper = styled(Wrapper)<{ $shadow: boolean }>`
  border-color: ${(props) => props.theme.colors.primary};
  ${(props) => props.$shadow && boxShadowMixin};
`;

export default function App() {
  return (
    <>
      <BlueBorderWrapper $shadow={true}>
        <Title $color="#00ff00" $decoration="line-through" as="p">
          App Component
        </Title>
        <BigTitle $color="#0000ff" $decoration="underline">
          App Component
        </BigTitle>
      </BlueBorderWrapper>
    </>
  );
}
border-color: ${(props) => props.theme.colors.primary};

적용하는 부분에서 에러가 발생합니다.

Property 'colors' does not exist on type 'DefaultTheme'.

혹시 문제가 있는걸까요?

react react-router redux-toolkit zustand react.js

답변 0

cloudinary 관련

0

46

3

useOptimistic 실전-1 useState

0

69

2

discord 초대장 갱신이 필요한거같습니다.

0

64

1

할일 관리 앱(메모이제이션)

0

81

2

Web 플랫폼 등록

0

111

2

함수 정의 기준

0

79

2

fetch는 사용되는가

0

77

2

전역상태 관리 선택 기준

0

90

2

tailwind css는 언제 사용되는가 또 다른 css와의 차이

0

158

2

카카오 web플랫폼 등록

0

157

2

컴포넌트 그리고 폴더 구조에 대해

0

62

2

152강 보는중입니다. 초시계부분이구요. 넘버가 timeout을 받을수없다는 에러가 나오고 있어요

0

44

1

폼테그 다른 태그를 하나의 상태 객체로 묶기

0

46

2

class를 className으로 전부 수정하실 때

0

45

2

JWT에 대한 개념도 학습할 수 있나요?

0

67

2

수업자료 다운로드

0

55

2

리액트 객체의 타입을 알기위하여 마우스를 올렸을 때 나오는 형식이 강의와 다른 부분 문의 드립니다.

0

67

2

useState 자동생성 하실때 누른 키보드가 궁금합니다.

0

54

1

타입스크립트 타입이 불일치하는데 에러가 안납니다.

0

78

3

default format >> prettier 이 실행이 안됩니다.

0

69

2

윈도우 사용자입니다. homebrew 윈도우 설치법은 없나요?

0

350

3

리렌더링 관련 문의

0

59

2

공부 방향에 대해서

0

65

2

form action 과 onSubmit

0

63

2