Korean_hamster
지현의 개발자 성장과정
Korean_hamster
전체 방문자
오늘
어제
  • 분류 전체보기 (122)
    • Front-End Developer (79)
      • Project (12)
      • HTML (8)
      • CSS (17)
      • Computer Science (9)
      • JavaScript (20)
      • React (13)
    • 이런저런 생각 (7)
    • 주간 성장회고 (24)
    • English (0)
    • 리뷰 (2)
    • Books (5)

블로그 메뉴

  • 방명록

공지사항

인기 글

태그

  • 프론트앤드
  • 프론트앤드스쿨
  • 깃
  • 반응형웹
  • HTML
  • 면접관님
  • 라우터
  • 멋사
  • fetch
  • AtomicHabits
  • CS
  • CSS
  • flex
  • sass
  • 비전공개발자
  • 비전공자개발자
  • js
  • 깃헙
  • 멋쟁이사자처럼
  • 리액트

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Korean_hamster

지현의 개발자 성장과정

Front-End Developer/React

styled-components 사용시 Invalid hook call 오류 해결하기

2022. 7. 3. 01:03

문제상황

styled-component를 처음으로 설치하고 노란 버튼을 하나 만들어서 실행을 했는데 콘솔창이 시뻘개졌다.

import React from 'react';
import styled from 'styled-components'

let YellowBtn = styled.button`
  background : yellow;
  color : black;
  padding : 10px;
`

function Detail(props) {
  return (
      <YellowBtn>버튼</YellowBtn>
  );
}

export default Detail;

실패

invalid hook call이라는데. 

확인해보라는대로 react 공식문서로 가서 오류를 해결해보자. 


1. React와 React DOM 버전 확인해보기 

react-dom이 16.8.0 버전 이하이거나

react-native가 0.59 버전 이하일경우 훅시 지원되지 않는다.

확인해보니 내 react-dom은 18.2.0버전 / react-native는 사용하지 않으니 패스

 

 

2. 훅의 룰을 잘 지켜서 사용하고 있는가?

  • 🔴 Do not call Hooks in class components.
  • 🔴 Do not call in event handlers.
  • 🔴 Do not call Hooks inside functions passed to useMemo, useReducer, or useEffect.

다 잘 지켜서 사용했다 ㅜㅜ

 

 

3. React가 중복되있나

If these react imports resolve to two different exports objects, you will see this warning. This may happen if you accidentally end up with two copies of the react package.

 

실수로 react package가 두개 이상 중복되어 생성되었을 때 만날 수 있는 오류라는데, 이 경우도 아니었다.

 

 

 

해결방법

 

npm i styled-components@4

한참을 구글에서 헤메다가 버전을 다운그레이드 해보라는 누군가의 글을 보고 다운그레이드 했더니 해결.

잘 나온다. 휴우 ㅜ 하나하나 쉽지않구만! 혹시 나와같은 상황이 있다면 styled-component의 버전을 한번 낮춰보길 바란다.

 

 

추가사항 +

근데 왜 package.json파일에 가면 styled-components를 확인할 수 없을까?(껏다 켜도 마찬가지)

이렇게 확인할 수 있어야 하는데..

이제 styled-components가 잘 되서 큰 문제는 아니지만 버전을 확인할 수 없어서 답답하다. 좀 더 찾아봐야겠다.

저작자표시 (새창열림)

'Front-End Developer > React' 카테고리의 다른 글

searched.map is not a function - 리액트에서 Hook Flow를 이해한다는것  (0) 2022.07.11
No routes matched location "/" 오류 간단해결방법(반전의 실수..)  (0) 2022.07.10
리액트 유치원이 개원했습니다. (유투브 채널개설)  (0) 2022.06.20
useState Lazy initialization - 게으른 초기화가 대체 뭔소리야? (+유투브 영상 업로드)  (4) 2022.06.16
useCallback. [의존성 배열] 난 너만 바라봐  (0) 2022.06.15
    Korean_hamster
    Korean_hamster
    Keep pushing myself to the limits

    티스토리툴바