ReactNative
async() 사용
밍상
2021. 6. 25. 14:18
React Native를 사용할때, fetch후에 setState 함수를 사용하면 원하는 값이 설정되지 않는 경우가 있었다.
그 이유는 함수가 비동기적으로 실행되기 때문인데, 이는 async()와 await를 사용해서 해결할 수 있다.
useEffect(async())=>{
try{
const res = await fetch(url);
const result = await res.json();
if(res.ok){
setState(result);
setError(null);
}else{
throw result;
}
} catch(error){
setError(error);
}
}, []};
setState, fetch, Asyncstorage.getItem 등이 비동기적으로 실행되기때문에 async와 await를 사용해서 동기화를 시켜줄 필요가 있다.