react typescript 환경에서 커스텀 훅을 만들어서 사용하려고 하는데 This expression is not callable 에러가 나타납니다.
1249
작성한 질문수 2
import './App.css';
import React from 'react';
import useDailyCorona from './hooks/useDailyCorona';
function App() {
const items = useDailyCorona();
return (
<ul>
{items?.map((item, index) => (
<li key={index}>createDate: {item.createDt}</li>
))}
</ul>
);
}
export default App;
----------- useDailyCorona.tsx -------------
import {useEffect, useState} from "react";
import {getCorona} from "../corona";
interface coronaApiPros {
createDt: string // 조회 시작 시간
deathCnt: number // 사망자 수
defCnt: number // 확진자 수
gubun: string // 시도명(한글)
gubunCn: string // 시도명(중국어)
gubunEn: string // 시도명(영어)
incDec: number // 전일대비 증감 수
isolClearCnt: number // 격리 해제 수
isolIngCnt: number // 격리중 환자 수
localOccCnt: number // 지역 발생 수
overFlowCnt: number // 해외 유입 수
qurRate: string // 10만명당 발생률
seq: number // 게시글번호 (국내 시도별 발생 현황 고유값)
stdDay: string // 기준 일 시
updateDt: string // 수정 일시 분초
}
function useDailyCorona():void|coronaApiPros[] {
const [items, setItems] = useState();
const coronaItems = getCorona();
useEffect(() => {
coronaItems.then(response => {
setItems(response);
});
}, []);
return items;
}
export default useDailyCorona();
답변 2
1
안녕하세요
따로 쓰는 것과는 상관 없어보이구요, 마지막에 호출을 하셔서 그렇습니다
아래처럼 하시면 될거에요
export default useDailyCorona;
0
자답입니다.
function useDailyCorona 를 export default function useDailyCorona 로 수정하니 에러가 해결됐습니다.
왜 따로 쓰면 에러가 나타날까요?
useDailyCorona.tsx 파일을 수정했습니다.
import {useEffect, useState} from "react";
import {getCorona} from "../corona";
interface coronaApiPros {
createDt: string // 조회 시작 시간
deathCnt: number // 사망자 수
defCnt: number // 확진자 수
gubun: string // 시도명(한글)
gubunCn: string // 시도명(중국어)
gubunEn: string // 시도명(영어)
incDec: number // 전일대비 증감 수
isolClearCnt: number // 격리 해제 수
isolIngCnt: number // 격리중 환자 수
localOccCnt: number // 지역 발생 수
overFlowCnt: number // 해외 유입 수
qurRate: string // 10만명당 발생률
seq: number // 게시글번호 (국내 시도별 발생 현황 고유값)
stdDay: string // 기준 일 시
updateDt: string // 수정 일시 분초
}
export default function useDailyCorona(): coronaApiPros[]|void {
const [items, setItems] = useState<coronaApiPros[]>();
const coronaItems = getCorona();
useEffect(() => {
coronaItems.then(response => {
setItems(response);
});
}, []);
return items;
}
자동완성기능이 안되네요 ..
0
500
3
화면에 에러가나네요 ...
0
517
2
setValue 함수 질문 있습니다.
0
841
1
찾아야한다 실습 문의
0
470
1
훅 기초 익히기 - 배치 처리와 순차적 처리의 차이
0
473
1
cra, next.js 관련 질문 드립니다!
0
606
1
useState 배열 비구조화 문법 질문!
0
253
1
Uncaught TypeError: Failed to execute 'removeChild' on 'Node': parameter 1 is not of type 'Node'
1
1082
2
Saga 오류 이거 혹시 왜이런지 알수 있을까요?
0
372
2
http://localhost:3001/user/search?keyword=u 이걸로 데이터를 보는데 저는 사이트에 연결할 수 없다고 나오네요
0
658
1
match
1
497
1
버튼이 생성되지 않습니다 .
0
288
1
혹시 import 옆에 파일 사이즈 표시 어떻게 하나요?
0
263
1
saga 문제
0
249
1
에러가 발생하는데 이유가뭘까요..?
0
390
2
선생님과 똑같이 했는데 다 rendering 됩니다.
0
203
1
컴포넌트와 컨테이너의 기준
0
316
1
커스텀훅의 개념과 함수차이
1
1199
1
useEffect 실전 활용법(1) 강의에서 질문있습니다.
0
338
1
리덕스, 사가파일들의 관리
0
208
1
useImperativeHandle 질문 입니다.
0
281
1
컴파일 문의드립니다.
0
204
1
React.memo 관련 질문이 있습니다.
0
374
1
Context API vs Redux 사용 빈도
0
213
1





