강의를 들으며 import와 패키지를 배우던 중에 현재경로(.)와 상대경로(..)가 파이썬에도 똑같다고 해서 그렇게 경로를 적어줬는데 에러가 발생했다. 상위 경로도 import 하고 싶어서 해보는데 똑같은 에러가 발생했다. from .ch_test.ch16_test import ch16_test from ..playground import 별찍기 ImportError: attempted relative import with no known parent package 이유 자바스크립트에서는 경로의 시작을 '.'로 해도 되는데 파이썬에서는 안 되는 것 같다. 현재 파일의 하위 경로에 있는 폴더는 이름부터 시작하도록해서 접근했고 상위경로는 일단 sys.path를 추가하는 것으로 해결했다. import sys ..
리코일 공식 문서가 시키는 데로 RecoilRoot로 감싸줬는데 에러가 발생했다. this component must be used inside a component. 이유 최상위 루트가 아니고 중간 라우터 파일에서 감싸줬더니 에러가 발생했다. 그래서 최상위에 감싸줬더니 해결됐다. ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render( , ); 참고
heart 값에 따라서 state를 바꿔주고 싶은데 prev에 undefined가 들어올 수도 있기 때문에 안된다고 에러가 떴다. heart ? setCountLikes((prev) => prev - 1) : setCountLikes((prev) => prev + 1); (parameter) prev: number | undefined 'prev' is possibly 'undefined'. 'prev' is possibly 'undefined'. 이유 undefined이 들어왔을 때를 대비해 처리해주면 되는데 countLikes나 typeof 연산자로 조건으로 If문을 사용하면 prev와 달라서 그런지 빨간 줄이 사라지지 않았다. 그래도 아래의 방법들로 해결할 수 있었다. keyword as heart..
state를 map 돌려서 JSX Element를 리턴하려는데 화면에는 아무것도 안뜨고 빨간줄만 죽죽 떴다. Type 'void' is not assignable to type 'ReactNode' 이유 map을 돌릴땐 return을 적었는지 꼭 확인합시다! 😉 // 안 된 이유 state.map((data)=>{{data.content}}) // return을 잊지말자 state.map((data)=>{return {data.content}})
// 컴포넌트 setHeart((prev) => !prev); // 에러~~~~~~~ setFeeds((prev: MainFeedStateType[]) => { const newData = [...prev].map((feedData) => { return feedData.id === id ? { ...feedData, count_likes: feedData.count_likes, is_liked: feedData.is_liked, } : { ...feedData }; }); return newData; }); // 타입 export interface FeedProps { ... setFeeds?: (prev: MainFeedStateType[]) => void; } cannot invoke an obje..
param이 undefined일 수도 있으니까 타입스크립트가 안된다고 한다... 한 번만 봐주라... 네가 봐주면 안 될까..? 🥲 const param: string | undefined ... const param = useParams().id; ... axios.get('../data/feeds.json').then((res) => { // param에 빨간줄 setFeedData(res.data.feeds[param - 1]); setHeart(res.data.feeds[param - 1].is_liked || false); setSave(res.data.feeds[param - 1].is_marked || false); }); ... The left-hand side of an arithmeti..
ref를 선언하고 넣어줬더니 ref에서 빨간줄이 떴다. 왜 또.... 😞 ... const slideRef = useRef(); ... {imgUrl.map((el) => ( {el.title} ))} ... Type 'MutableRefObject' is not assignable to type 'LegacyRef | undefined'. 이유 useRef의 초기값으로 null을 주지 않아서이므로 초기값을 주면 된다! 제네릭에 타입을 안정해줘도 에러는 사라지지만 작업하다가 빨간 줄이 생길 수도 있으니 타입을 지정하는걸 추천한다. ... const slideRef = useRef(null); // 또는 //const slideRef = useRef(null); ... {imgUrl.map((el) => ..
잘 쓰던 closest를 쓰려고 했는데 안써졌다... const handleDockMenu = (e: React.MouseEvent) => { const target = e.target; const newDockState = [...dockState].map((state) => // closest에 빨간줄 target.closest(`#${state.id}`) ? { id: state.id, selected: true } : { id: state.id, selected: false } ); setDockState(newDockState); }; Property 'closest' does not exist on type 'EventTarget'. 이유 이벤트타겟에 없다고 하니 e.target에 Elemen..
- Total
- Today
- Yesterday
- 회고
- CSS
- 리액트
- 비주얼스튜디오코드
- vscode
- 자바스크립트
- Til
- 구름에듀
- Typescript
- 코드잇
- 김버그
- js
- 파이썬
- 타입스크립트
- html
- 저스트코드
- vue
- 스파르타코딩클럽
- TS
- javascript
- Python
- 제로초
- scss
- 제이쿼리
- 깃
- map
- React
- 코딩앙마
- 드림코딩
- git
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |