본문으로 바로가기

styled-components + typescript

category React, Next, Redux/⚛ React.TS 2020. 8. 26. 05:45

이미 문서가 잘 작성되어 있으니 참고합시다.

styled-components.com/docs/api#typescript

 

styled-components: API Reference

API Reference of styled-components

styled-components.com

 

설치

yarn add @types/styled-components styled-components

 

 

props를 사용할 경우의 타이핑

 

다음과 같이 styled에도 제네릭을 사용하여 props를 타이핑해줘야 합니다.

물론 interface를 사용해서 다음과 같이 생략할 수도 있겠지만 생각보다 interface가 많아지면 이를 관리하기가 너무 힘들어집니다. styled-components를 사용할 때는 그냥 인라인 스타일로 제네릭을 적어줍니다.

const Container = styled.div<{ isBlue: boolean }>`
  background-color: ${(props) => (props.isBlue ? "blue" : "transparent")};
`;

function App() {
  const [counter, setcounter] = useState(0);

  const onPlusClick = () => {
    setcounter(counter + 1);
  };

  return (
    <Container isBlue={counter > 3}>
      <div>Hello</div>
      <div>num: {counter}</div>
      <button onClick={onPlusClick}>Plus</button>
    </Container>
  );
}

export default App;

 

 

 

 


darren, dev blog
블로그 이미지 DarrenKwonDev 님의 블로그
VISITOR 오늘 / 전체