매번 실패했던
fetch 가져올때 responseData 의 Type 지정 실패로, State 에 넣지 못했던 것을
드디어 해결했따!
helper / fetch.ts
< helper / fetch.ts >
export const getEurInfo = async ():Promise<KrweurType> => { // fetch 를 할때 Promise 를 받을 타입을 지정
try {
const response = await fetch(
"https://quo...EUR"
);
if (!response.ok) {
throw new Error("failed to fetch data");
}
const responseData = await response.json();
const krweurData = responseData[0];
return krweurData; // Promise 를 return
} catch (error) {
throw new Error("failed to fetch data");
}
};
export interface KrweurType {
code: string;
currencyCode: string;
currencyName: string;
...
}
App.tsx
export const App = () => {
const [eurInfo, setEurInfo] = useState<KrweurType>(intialState); // 이 Type 의 State에
useEffect(() => {
setReady(() => true);
const fetchData = async (): Promise<void> => { // 이 함수는 Promise<void> (반환이 없으므로)
const data = await getEurInfo(); // 하지만 fetch 에서 반환된 data 는 타입을 잘 받아왔다.
setEurInfo(() => data);
};
fetchData();
return () => {};
}, []);
예쓰!
'React > React-TypeScript' 카테고리의 다른 글
13. React 에서 MVVM 모델 구현해보기. 이거 맞나? 틀린 거 같음... Redux-toolkit 없이 (0) | 2023.01.16 |
---|---|
11. type? interface? 무엇을 써야 할까? (0) | 2022.12.29 |
10. Redux-toolkit 과 함께 Typescript 사용하기 (2) 실전, useRef 를 이용해 받은 값, Redux Store 에 넣기 (0) | 2022.12.27 |
9. Redux-toolkit 과 함께 Typescript 사용하기 (1)기본 사용 (0) | 2022.12.27 |
8. 코드의 타입을 모르겠다고? 걱정하지 말자! 마우스를 올려봐! (0) | 2022.12.26 |
댓글