Notice
Recent Posts
Recent Comments
Link
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- expo
- Redux
- 스타트업
- 스프링 부트
- 풀스택
- 클론코딩
- 풀스택 개발자
- 개발자
- 국비 지원
- ffmpeg
- 비전공자
- Java
- spring boot
- 자바
- react-native
- 비전공
- 백엔드
- 리엑트
- 프론트엔드
- 인스타그램
- react native
- 프론트 엔드
- 리엑트 네이티브
- react
- 국비지원
- 코딩
- Spring
- 스프링
- 상태관리
- 개발
Archives
- Today
- Total
오티스의개발일기
useEffect must not return anything besides a function, which is used for clean-up. 에러 해결 본문
에러 모음/react-native
useEffect must not return anything besides a function, which is used for clean-up. 에러 해결
안되면 될때까지.. 2023. 1. 11. 15:56728x90
에러내용
LOG Running "baund" with {"rootTag":291,"initialProps":{}}
ERROR Warning: useEffect must not return anything besides a function, which is used for clean-up.
It looks like you wrote useEffect(async () => ...) or returned a Promise. Instead, write the async function inside your effect and call it immediately:
useEffect(() => {
async function fetchData() {
// You can await here
const response = await MyAPI.getData(someId);
// ...
}
fetchData();
}, [someId]); // Or [] if effect doesn't need props or state
useEffect Hook 내부에 자체적으로 비동기 함수가 들어가있어
useEffect 안에서 따로 비동기를 사용하면 에러가뜬다.
useEffect 안에서 어떤 비동기 로직을짤때
함수로 따로 만들어서 호출을 해야한다
하기전과 후로 나눠서 올리겠다
변경전
useEffect(async () => {
setMode(nowMode)
// --------- 여기부터 -------------
let token = await $Util.getStoreData('token');
if (!$Util.isEmpty(token)) {
console.log(token)
if (!$Util.isEmpty(token.accessToken)) {
console.log('로그인한적있음')
} else {
console.log('로그인한적 X')
}
} else {
await $Util.setStoreData('token', {accessToken: null, refreshToken: null})
}
// --------- 여기까지를 원함 -------------
},[]);
변경후
useEffect(() => { // <-- 여기있던 async 는 제거
setMode(nowMode)
// --------- 여기부터 -------------
const isLogined = async () => { // <-- async 추가
let token = await $Util.getStoreData('token');
if (!$Util.isEmpty(token)) {
console.log(token)
if (!$Util.isEmpty(token.accessToken)) {
console.log('로그인한적있음')
} else {
console.log('로그인한적 X')
}
} else {
await $Util.setStoreData('token', {accessToken: null, refreshToken: null})
}
}
isLogined(); // <----- 여기에서 만든함수를 한번만 호출
// --------- 여기까지를 원함 -------------
},[]);
이렇게하면 에러가 사라진다.
728x90
'에러 모음 > react-native' 카테고리의 다른 글
The audience client and the client need to be in the same project. -google signin error- (1) | 2023.01.07 |
---|---|
'FlipperKit/FlipperClient.h' file not found 에러 해결 (0) | 2023.01.07 |
ERROR Invariant Violation: requireNativeComponent: "RNSScreen" was not found in the UIManager.에러 해결 (1) | 2023.01.05 |
Do not use "pod install" from inside Rosetta2 주의 해결방법 (1) | 2023.01.04 |
cocoapods 설치중 에러 해결 (0) | 2023.01.03 |
Comments