월 14,300원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결배달앱 클론코딩 [with React Native]
access 토큰 만료시 재요청 에러처리 질문드립니다.
데이터 요청시에 access token 이 만료되면 axios 인터셉터가 가로채서 재요청 하는 부분에서 궁금한 점이 있습니다. 그런데 만약 한 컴포넌트 (페이지) 에서 서버 요청이 두번 들어 갈때 ex) useEffect(() => { axios ("/foo") ... }, []) useEffect(() => { axios ("/baa") ... }, []) 이상황에서는 토큰 발급을 두번 발생시켜서 서버 리소스가 낭비되는거 아닌가요? 혹시 위와같은 상황일때 access 토큰 만료시 한번만 발급하고 나머지 서버 요청값은 취소 후 발급완료후 취소된 나머지 요청을 재 실행 할 수 있는지 궁금합니다.
- 미해결배달앱 클론코딩 [with React Native]
xcode 빌드에러
안녕하세요 제로초님 워크스페이스 파일이 생성이 안되서 cd ./FoodDeliveryApp/ios && pod install 명령어로 설치후 제로초님 깃허브에있는 setting 클론해서 집어넣었는데 xcode빌드 에러가납니다.. 안드로이드는 잘 돌아가는데 xcode만 에러가 나네요 ㅠ 구글링을 해도 해결이 안되서 질문남깁니다 ㅠ
- 미해결배달앱 클론코딩 [with React Native]
npx 에러 Failed to load configuration of your project.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 하.. npx react-native 명령어가 왜 작동안하는지 모르겠네여 error Failed to load configuration of your project. 에러때문에 프로젝트 생성도 안되는데 설정이 문제라고 나오네여 -_-; expo로 하니까 샘플 프로젝트 생성되면서 동작은 되긴 하네여 OTL. expo로 실행해서 진도 나가도 큰 문제는 없겟죠 ?
- 미해결배달앱 클론코딩 [with React Native]
react-native-config를 대체할 수 있는 다른 방법을 알려주세요.
.env 파일에 띄어쓰기도 없습니다. 구글에 xcode react-native-config도 검색해봤는데 해결하지 못했습니다. 지금 .env 파일 때문에 자꾸 다른 챕터로 넘어가지 못하는데 대체할 수 다른 라이브러리 및 방법을 알려주세요. 자꾸 띄어쓰기 또는 다시 해보라는 방법 강의에 대해서 조금 무책임한 거 같습니다.
- 미해결배달앱 클론코딩 [with React Native]
[mac] run ios 실행 시 빌드 오류 질문입니다.
안녕하세요 제로초님 mac 환경에서 ios 를 빌드하기 위해 아래와 같이 실행했으나, 두번째 이미지와 같이 에러가 뜹니다. 제가 생각했을 때는, 현재 index.js와 package.jsond에서 이름이 'SimplyFieldService'로 되어있는데, 터미널에서 보면 타겟을 'WFieldService.xcworkspace'로 잡고 있어 빌드를 못하는 것 같습니다. 그래서 구글링해서 찾아본 결과, ios>Pods 폴더의 Podfile 파일에서 project와 target의 이름을 바꿔주면 된다해서 수정했는데도 똑같이 타겟을 WFieldService로 잡고 빌드가 안됩니다 ㅠㅠ 해결방법을 알 수 있을까요? 감사합니다 < index.js> , <package.json>
- 미해결배달앱 클론코딩 [with React Native]
navition tab, stack 문의 드립니다.
제로초님 안녕하세요 A, B, C, D 4개의 Tab.Screen이 있고, 위 4개의 모든 탭 스크린 안에서 검색 화면 / 검색 조건 설정 화면 / 검색결과 이렇게 3가지 컴포넌트를 Stack.screen으로 동일하게 사용이 필요해서 각 A, B, C, D Tab Screen 컴포넌트에 위 3가지 (검색,조건설정,결과) 컴포넌트를 Stack Screen 으로 다 넣어줘서 구현을 했는데 이렇게 구현하는게 맞는지해서 질문 남깁니다. App.js 각 Tab Screen 내부 Stack 구성
- 미해결배달앱 클론코딩 [with React Native]
cannot resolve symbol 오류
티맵을 연동하는 부분을 강의를 보면서 따라하다(초기설정과 필요한 파일 설치 main~.java, TMap~.java 복붙) 이러한 오류들이 발생했습니다. 구글링을 해서 캐쉬파일 삭제등 여러가지 방법을 동원하여도 해결되지가 않습니다. 어떻게 해결해야 하나요?
- 미해결배달앱 클론코딩 [with React Native]
앱 실행시 바로 꺼지는 문제
안녕하세요 현영님 강의 잘보고 있습니다 !config 설정 하는중에 언제 부터인지 앱을 실행시 바로 종료되는 문제가 생겼습니다.검색을 해봐도 해결을 못해 질문 드립니다. 안드로이드 스튜디오에서 나오는 에러 로그입니다. 2022-08-04 17:15:31.940 26935-26935/com.fooddeliveryapp E/AndroidRuntime: FATAL EXCEPTION: main Process: com.fooddeliveryapp, PID: 26935 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.fooddeliveryapp/com.fooddeliveryapp.MainActivity}: java.lang.ClassCastException: android.app.Application cannot be cast to com.facebook.react.ReactApplication at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3449) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3601) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:223) at android.app.ActivityThread.main(ActivityThread.java:7656) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947) Caused by: java.lang.ClassCastException: android.app.Application cannot be cast to com.facebook.react.ReactApplication at com.facebook.react.ReactActivityDelegate.getReactNativeHost(ReactActivityDelegate.java:83) at com.facebook.react.ReactActivityDelegate.onCreate(ReactActivityDelegate.java:99) at com.facebook.react.ReactActivity.onCreate(ReactActivity.java:46) at com.fooddeliveryapp.MainActivity.onCreate(MainActivity.java:21) at android.app.Activity.performCreate(Activity.java:7994) at android.app.Activity.performCreate(Activity.java:7978) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3422) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3601) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:223) at android.app.ActivityThread.main(ActivityThread.java:7656) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947) Caused by 쪽에 at com.fooddeliveryapp.MainActivity.onCreate(MainActivity.java:21)로그가 있습니다... 항상 좋은 강의 감사합니다 ! 좋은 하루 보내세요 ~
- 해결됨배달앱 클론코딩 [with React Native]
ios에서 flipper설정시 다음과 같은에러가 뜹니다.ㅠㅠ
아래와 같은 에러가 뜹니다. which해도 정상적으로 실행화일도 있고 실행을 해도 실행도 잘되는데 idb list-targets라는 옵션을 주면 뭔가 정상적으로 출력되는것 같지 않아서 문의 드립니다.
- 미해결배달앱 클론코딩 [with React Native]
앱이 지도를 그리다가 갑자기 꺼집니다 - iOS
데이터를 터치하면 토글이 열리고 지도를 그리다가 앱이 종료되버립니다. 위 화면이 잠깐 뜨고 바로 꺼져버립니다. 에러 로그도 뜨지 않아 해당 이슈가 왜 생기는지 모르겠습니다. m1쓰고 있고, iOS에서 생기는 이슈입니다. Xcode 꺼져있어도 네이버 맵이 그려지다가 앱이 종료됩니다 . 혹시 몰라 문제 리포트 추가합니다.
- 미해결배달앱 클론코딩 [with React Native]
여러장의 이미지
사진첩에서 한장 말고 여러장을 가져올수 있나요???
- 미해결배달앱 클론코딩 [with React Native]
[안드] splash-screen
MainApplication.java 부분입니다. docs 에서는 저희 프로젝트는 @Override protected List<ReactPackage> getPackages() { @SuppressWarnings("UnnecessaryLocalVariable") List<ReactPackage> packages = new PackageList(this).getPackages(); // Packages that cannot be autolinked yet can be added manually here, for example: // packages.add(new MyReactNativePackage()); return packages; } 안맞는 부분이 있어서, 임의로 이렇게 작성했습니다. @Override protected List<ReactPackage> getPackages() { @SuppressWarnings("UnnecessaryLocalVariable") List<ReactPackage> packages = new PackageList(this).getPackages(); // Packages that cannot be autolinked yet can be added manually here, for example: packages.add(new SplashScreenReactPackage()); return packages; } npm run android 는 완료되었으나, 어플 실행시 스플래시 화면 작동 후 어플이 로딩되었을때, 오류가 뜹니다. 무슨말인진 알겠는데, 그럼 위에처럼 mainapplication.java 가 docs와는 기존에 작성된 부분이 다르면 어떻게 수정해야 합니까?? 아니면 단순하게 저 오류를 해결할 방법이 없겠습니까?
- 해결됨배달앱 클론코딩 [with React Native]
RNNaverMapMarker을 UIManager가 찾지 못하는 에러
안녕하세요 에러가 발생해 질문 남깁니다. 현재 [ch 4] 네이버맵 연동하기 진행 중입니다. 현재 아래와 같은 에러가 생깁니다. components/EachOrder.tsx 에선 NaverMapView 컴포넌트에 빨간 줄이 생깁니다. react-native-nmap 모듈은 문제 없이 찾아 옵니다. NaverMapView 컴포넌트에 마우스를 올리면 No overload matches this call. 라고 뜹니다. 자세한 내용은 아래와 같습니다. No overload matches this call.Overload 1 of 2, '(props: NaverMapViewProps | Readonly<NaverMapViewProps>): NaverMapView', gave the following error.Type '{ children: Element[]; style: { width: string; height: string; }; zoomControl: false; center: { zoom: number; tilt: number; latitude: number; longitude: number; }; }' is not assignable to type 'IntrinsicAttributes & IntrinsicClassAttributes<NaverMapView> & Readonly<NaverMapViewProps>'.Property 'children' does not exist on type 'IntrinsicAttributes & IntrinsicClassAttributes<NaverMapView> & Readonly<NaverMapViewProps>'.Overload 2 of 2, '(props: NaverMapViewProps, context: any): NaverMapView', gave the following error.Type '{ children: Element[]; style: { width: string; height: string; }; zoomControl: false; center: { zoom: number; tilt: number; latitude: number; longitude: number; }; }' is not assignable to type 'IntrinsicAttributes & IntrinsicClassAttributes<NaverMapView> & Readonly<NaverMapViewProps>'.Property 'children' does not exist on type 'IntrinsicAttributes & IntrinsicClassAttributes<NaverMapView> & Readonly<NaverMapViewProps>'.ts(2769) node_moddules/react-native-nmap/index.tsx 를 살펴봤는데 NaverMapView class return 구문에서도 에러가 있습니다. 실행에 문제가 있어 강의 진행이 어렵습니다. 도와주세요.
- 미해결배달앱 클론코딩 [with React Native]
react-naitive-nmap 에러
윈도우이고 NaverMapView 추가시 에러납니닫 원인을 모르겠어서 질문드립니다 < node_modules > react-native-map ->index.tsx > <package.json>
- 미해결배달앱 클론코딩 [with React Native]
xcode에서 빌드 시 에러 질문 있습니다.
xcode에서 재생버튼 모양을 눌러 빌드하면 Command PhaseScriptExecution failed with a nonzero exit code 에러가 발생합니다. 구글링을 해서 이것 저것해봤는데 해결이 되지않고 이것 저것 설정을 만지다가 다른 것도 잘못될까봐 손을 못대고 있습니다.... npm run ios는 작동을 합니다 FBReactNativeSpec라는 라이브러리랑 관련된 것 같은데 해결이 안되서 질문 올렸습니다...
- 미해결배달앱 클론코딩 [with React Native]
tmap 띄우기 완료 하지만 길찾기 실패
안녕하세요. 출발지클릭하여 tmap 까진 띄우기 완료했지만 티맵에서 길찾기까지 안되어 catlog를 확인했습니다. HTTP status code: 404 발생합니다. 어느부분을 봐야 될지 아시는게 있을까요? ``` [1113] luc.b(1): Error while refreshing device settings: network time: 233, HTTP status code: 404, exception com.android.volley.ClientError. Retrying. network time: 233, HTTP status code: 404, exception com.android.volley.ClientError at waj.hn(Unknown Source:4) at dbq.r(PG:2) at fam.r(PG:3) at dbj.run(PG:3) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:223) at android.app.ActivityThread.main(ActivityThread.java:7656) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)```
- 미해결배달앱 클론코딩 [with React Native]
ERROR
yarn run start 하면 앱 실행하면 아래의 오류가 나옵니다 ERROR Error: RNEncryptedStorage is undefined ERROR Invariant Violation: Module AppRegistry is not a registered callable module (calling runApplication). A frequent cause of the error is that the application entry file path is incorrect. This can also happen when the JS bundle is corrupt or there is an early initialization error when loading React Native. ERROR Invariant Violation: Module AppRegistry is not a registered callable module (calling runApplication). A frequent cause of the error is that the application entry file path is incorrect. This can also happen when the JS bundle is corrupt or there is an early initialization error when loading React Native.
- 미해결배달앱 클론코딩 [with React Native]
강의 듣던 중 ch3 복사하여 실행 중입니다.
회원가입을 할 때 undefined 메시지가 뜨는데 해결방법 있을까요?
- 미해결배달앱 클론코딩 [with React Native]
에러 발생
import React, { useState } from 'react'; import {Pressable, Text, View} from 'react-native'; function Settings() { const [count, setCount] = useState( initialState 1); return ( <View> <Pressable onPress={ () => setCount( value: p => p + 1 )}> <Text>{count}</Text> </Pressable> </View> } export default Settings; 강의 보고 그대로 작성했는데 initialState와 Pressable 부분에서 setCount 내부 화살표 함수 작성시 아래에 위치한 닫는 Pressable과 View에서 받지 못하는 가 빨간 줄 뜨면서 에러가 뜹니다.
- 미해결배달앱 클론코딩 [with React Native]
회원가입 서버 연동 진행 중에 무한 로딩 현상이 발생합니다..
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 주소가 잘못된 것 같기도 한데.. 메트로 서버에 주소까지는 콘솔 잘 찍히구요 빌드 후안드로이드 스튜디오에서 10.0.2.2:3105 주소가 나오는 것 확인 했습니다.. public static final String API_URL = "http://10.0.2.2:3105"; 어떤 문제 인지 알 수 있을까요..? 아래는 SignUp 코드 전문 입니다 import React, {useCallback, useRef, useState} from 'react'; import { ActivityIndicator, Alert, KeyboardAvoidingView, Platform, Pressable, StyleSheet, Text, TextInput, View, } from 'react-native'; import {NativeStackScreenProps} from '@react-navigation/native-stack'; import {RootStackParamList} from '../../App'; import DismissKeyboardView from '../components/DismissKeyboardView'; import axios, { AxiosError } from 'axios'; import Config from 'react-native-config'; type SignUpScreenProps = NativeStackScreenProps<RootStackParamList, 'SignUp'>; function SignUp({navigation}: SignUpScreenProps) { const [loading, setLoading] = useState(false); const [email, setEmail] = useState(''); const [name, setName] = useState(''); const [password, setPassword] = useState(''); const emailRef = useRef<TextInput | null>(null); const nameRef = useRef<TextInput | null>(null); const passwordRef = useRef<TextInput | null>(null); const onChangeEmail = useCallback(text => { setEmail(text.trim()); }, []); const onChangeName = useCallback(text => { setName(text.trim()); }, []); const onChangePassword = useCallback(text => { setPassword(text.trim()); }, []); const onSubmit = useCallback( async () => { if (loading) { return; } //로딩 중인데 버튼 누를 경우 요청 XX if (!email || !email.trim()) { return Alert.alert('알림', '이메일을 입력해주세요.'); } if (!name || !name.trim()) { return Alert.alert('알림', '이름을 입력해주세요.'); } if (!password || !password.trim()) { return Alert.alert('알림', '비밀번호를 입력해주세요.'); } if ( //이메일을 검사하는 정규 표현식 !/^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/.test( email, ) ) { return Alert.alert('알림', '올바른 이메일 주소가 아닙니다.'); } if (!/^(?=.*[A-Za-z])(?=.*[0-9])(?=.*[$@^!%*#?&]).{8,50}$/.test(password)) { return Alert.alert( '알림', '비밀번호는 영문,숫자,특수문자($@^!%*#?&)를 모두 포함하여 8자 이상 입력해야합니다.', ); } console.log(email, name, password); //axios 사용해서 서버로 보내주기, async await 문법 쓸거임 try{ setLoading(true); console.log(Config.API_URL); //Http 메서드 : get, put, patch, post, delete, head, options 등 (get, delete는 data를 못넣음) const response = await axios.post(`${Config.API_URL}/user`, { email, name, password, });// 네이버에 내 아이피 치면 내 주소 나옴 console.log(response.data); Alert.alert('알림', '회원가입 되었습니다.'); navigation.navigate('SignIn'); } catch (error) { // 요청 실패 시 const errorResponse = (error as AxiosError).response; //타입 적용한 변수 console.error(errorResponse); if(errorResponse) { Alert.alert(errorResponse.data.message); } } finally { //try든 catch든 항상 최종적으로 finally 구문 실행함 setLoading(false); } }, [loading, navigation, email, name, password]); const canGoNext = email && name && password; return ( <KeyboardAvoidingView behavior = "position"> <View style={styles.inputWrapper}> <Text style={styles.label}>이메일</Text> <TextInput style={styles.textInput} onChangeText={onChangeEmail} placeholder="이메일을 입력해주세요" placeholderTextColor="#666" textContentType="emailAddress" value={email} returnKeyType="next" clearButtonMode="while-editing" ref={emailRef} onSubmitEditing={() => nameRef.current?.focus()} blurOnSubmit={false} /> </View> <View style={styles.inputWrapper}> <Text style={styles.label}>이름</Text> <TextInput style={styles.textInput} placeholder="이름을 입력해주세요." placeholderTextColor="#666" onChangeText={onChangeName} value={name} textContentType="name" returnKeyType="next" clearButtonMode="while-editing" ref={nameRef} onSubmitEditing={() => passwordRef.current?.focus()} blurOnSubmit={false} /> </View> <View style={styles.inputWrapper}> <Text style={styles.label}>비밀번호</Text> <TextInput style={styles.textInput} placeholder="비밀번호를 입력해주세요(영문,숫자,특수문자)" placeholderTextColor="#666" onChangeText={onChangePassword} value={password} keyboardType={Platform.OS === 'android' ? 'default' : 'ascii-capable'} textContentType="password" secureTextEntry returnKeyType="send" clearButtonMode="while-editing" ref={passwordRef} onSubmitEditing={onSubmit} /> </View> <View style={styles.buttonZone}> <Pressable style={ canGoNext ? StyleSheet.compose(styles.loginButton, styles.loginButtonActive) : styles.loginButton } disabled={!canGoNext || loading} // || 로딩 중 일때는 회원가입 버튼 클릭 안되게 onPress={onSubmit}> { loading ? ( <ActivityIndicator color='white'/> // 로딩 ) : ( <Text style={styles.loginButtonText}>회원가입</Text> )} </Pressable> </View> </KeyboardAvoidingView> ); } const styles = StyleSheet.create({ textInput: { padding: 5, borderBottomWidth: StyleSheet.hairlineWidth, }, inputWrapper: { padding: 20, }, label: { fontWeight: 'bold', fontSize: 16, marginBottom: 20, }, buttonZone: { alignItems: 'center', }, loginButton: { backgroundColor: 'gray', paddingHorizontal: 20, paddingVertical: 10, borderRadius: 5, marginBottom: 10, }, loginButtonActive: { backgroundColor: 'blue', }, loginButtonText: { color: 'white', fontSize: 16, }, }); export default SignUp;