작성
·
389
0
만약 tsx 파일에서 콘솔로그를 찍어보면? console.log(Product)
https://api.minsu.com/product/${undefined} 이런 식으로 error 출력됩니다.
왜 이러는 걸까요?
id 값은 usePrams 로
const { id } = useParams<{ id?: any }>() 으로 타입 지정 해 주었습니다.
api에 token 도 걸려 있어서
이런 식으로 만들어 준 뒤.
이런 식으로 코드 작성을 했는 데, {id} 값이 undefined 값 404 에러 나옵니다 ㅠㅠ
답변 2
1
조현영님 Router 에는 문제가 없고,
<Data> 를 추가 해 주니 주석 걸린 곳도 자동으로 풀리고 다른 부분들도 다 type error 가 뜨네요
으로 useSWR<Product> Product type 뺴고 시도 해 봤는데.
console.log(ProductDetail) 찍어 봤는데
https://api.minsu.com/product/{undefined} 으로 나오네요.
안되네요..
제로초님 마지막으로 궁금 한게 있는데요ㅠㅠㅠ..
이것만 받고 조용히 사라지겠습니다.
왜 data 가 unknown 으로 지정 되는 지 모르겠습니다.
보통 slack 클론 했을 떈 useSWR<type> type 정의 안 해줘도 any 로 나왔는데,
왜 unknown 으로 나올까요...
기존 월래 npm 에 설치 되어있던 typescript 4.4.4 버전에서
제로초님 github slack typescript 버전 4.4.2 로 변경 했습니다.
@react-dom, @react-router-dom 각각 제로초님 github slack 버전으로 설치 해도 unknown 으로 나오네요.
tsconfig.json 에서 strict 을 false 로 바꿔도 map 함수를 사용 할 떄 unknown 은 출력 할 수 없다고 나옵니다.
어디를 수정 해야 할까요..
0
저는 product 에 있는 상품 목록들을 가져 올려고 했는데.
https://api.minsu.com/product 이런 식으로 api get 요청을 받아야 하나요?
저는 slack 클론 강의 들으면서
예로 들면 이런 식으로 멤버 API 를 ${workspace} 이런 식으로 workspace 에 해당 값들 member 를 가져왔어서 가져 오는 줄 알았습니다.
App.tsx 에서 Router 만들어 준 뒤 에 <Route path="/product/:id/:brand/:gender component={<Product} />
main 컴포넌트 -> index.tsx 부분에서
useParams 로
그리고 useSWR 로 불러 올려고 하고 있습니다.
Argument of type '[string, (url: any) => Promise<unknown>]' is not assignable to
parameter of type 'readonly [Key] | readonly [Key, Fetcher<ProductList[]> | null] |
readonly [Key, Partial<PublicConfiguration<ProductList[], any, Fetcher<ProductList[]>>> | undefined] | readonly [...]'.
Type '[string, (url: any) => Promise<unknown>]' is not assignable to type 'readonly
[Key, Fetcher<ProductList[]> | null, Partial<PublicConfiguration<ProductList[], any,
Fetcher<ProductList[]>>> | undefined]'.
Source has 2 element(s) but target requires 3.
빨리 작업 시작 하고 싶은데 api 불러오는 쪽에서 error 가 나서 .. 힘드네요
priceEnd로 변수명을 만드시면 되죠