묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결핸즈온 리액트 네이티브
[환경변수 설정]
강사님 안녕하세요 !데스크탑을 껐다가 키면 환경변수 설정이 바뀌는 것 같습니다...!아래와 같이 오류가 나오는 상황입니다.› Opening on Android...Failed to resolve the Android SDK path. ANDROID_HOME is set to a non-existing path: %LOCALAPPDATA%\Android\SdkFailed to resolve the Android SDK path. ANDROID_HOME is set to a non-existing path: %LOCALAPPDATA%\Android\SdkError: 'adb'��(��) ���� �Ǵ� �ܺ� ����, ������ �� �ִ� ���α�, �Ǵ� ��ġ ������ �ƴմϴ�.환경변수를 삭제하고, 재부팅하면 문제가 해결되는 것처럼 보이는데, 다음 날 데스크탑을 또 켜면 똑같은 오류가 발생합니다 ㅠㅠ 이를 방지할 해결방법이 있을까요...?감사합니다 :)
-
미해결핸즈온 리액트 네이티브
[1.5] Expo 프로젝트 생성하기
안녕하세요, 강사님윈도우 데스크탑에서 expo login을 하고, npm start로 실행한 후 iOS 실물 기기에서 expo 프로젝트를 열려고 하는데 열리지가 않습니다..! 어떤 부분을 확인하면 되는지 알 수 있을까요?감사합니다 :)
-
해결됨맛집 지도앱 만들기 (React Native & NestJS)
BundleIdentifier관련 질문이있습니다.
강사님, 최근에 강사님 강의를 듣고, 실제 프로젝트를 진행하면서 앱 배포 관련해서 이런저런 공부를 하고 있는데 궁금한 점이 생겨 질문드립니다.XCode 에서 BundleIdentifier을 com.xxx.xxxx 이런식으로 제공해주고 있는데. 해당 부분을 URL Scheme으로 활용하여 네이버 로그인을 개발 중에 있습니다. 이 부분을, 그럼@implementation AppDelegate - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options { if([RNKakaoLogins isKakaoTalkLoginUrl:url]) { return [RNKakaoLogins handleOpenUrl: url]; } if ([url.scheme isEqualToString:@"{{ CUSTOM URL SCHEME }}"]) { return [[NaverThirdPartyLoginConnection getSharedInstance] application:app openURL:url options:options]; } return NO; } CUSTOM URL SCHEME을 BundleIdentifier로 사용해도 괜찮은지 여부와, 해당 값을 환경변수 처리 없이, 공개적으로 적용해도 되는지 아래와 같이 입니다. if ([url.scheme isEqualToString:@"com.matzip"]) { return [[NaverThirdPartyLoginConnection getSharedInstance] application:app openURL:url options:options]; } return NO; } 혹시 만약에 되지 않는다면 AppDelegate.mm에서 환경변수를 처리하는 방법과, 소셜 로그인시 필요한 URL Scheme은 보통 현업에서 어떠한 식으로 선정하여 처리하는지 궁금하여 질문드립니다.
-
해결됨맛집 지도앱 만들기 (React Native & NestJS)
폰트 관련 궁금사항입니다.
안녕하세요, 강사님, 강사님 강의를 들으며, 개인적인 프로젝트를 RN으로 진행중에 비슷한 상황이 발생하여 질문을 남겨봅니다.아이콘같은 경우도, 이전에 잘 동작하다가 빌드 후, 에러가 발생하면 빌드 페이즈에 추가로 파일을 넣어서 해결하였습니다.이번에 제가 추가한 폰트도, 이전에 잘 동작하다가, 해당 브랜치를 develop에 머지한 후, 새로 다른 브랜치를 만들어 작업중인데, 이전에 잘 동작했지만 동작하지 않습니다.빌드 페이즈에 들어가있는걸 확인했는데 잘 동작하지 않는 경우는 어떻게 해결할지 의견을 구하고자 질문을 남깁니다.
-
미해결핸즈온 리액트 네이티브
1.7 질문: eslint.config.mjs 파일이 생성됩니다. 또한, no-console 규칙이 강사님과 동일하게 작동하지 않습니다.
구글링을 통해 no-console: warn 규칙을 작성하였습니다. npx eslint .을 터미널에 실행하면 규칙에 따라 warning이 뜹니다.그런데, 강사님의 화면에서 vscode에 App.js파일에 바로 밑줄이 그어지는 것과는 달리 저는 그런 작용이 없어서 질문드립니다...Extension에서 ESLint도 설치했는 데 왜 이럴까요?? ㅠㅠ
-
해결됨맛집 지도앱 만들기 (React Native & NestJS)
애플 로그인 관련 궁금한 부분.
안녕하세요, 강사님 강의처럼 Signing & Capabilites부분에서 +버튼을 누르면 Signinwith apple 부분이 보이지 않습니다. 이 부분은 어떻게 해결해야하나요?
-
해결됨맛집 지도앱 만들기 (React Native & NestJS)
안드로이드 시뮬레이터
❗질문 작성시 꼭 참고해주세요최대한 상세히 현재 문제(또는 에러)와 코드(또는 github)를 첨부해주셔야 그만큼 자세히 답변드릴 수 있습니다.맥/윈도우, 안드로이드/iOS, 버전 등의 개발환경도 함께 적어주시면 도움이 됩니다. 에러메세지는 일부분이 아닌 전체 상황을 올려주세요!안녕하세요.vs code 터미널에서 안드로이드 시뮬레이터를 켜기위해$ npx react-native run-android를 실행하면 error Failed to install the app. Make sure you have an Android emulator running or a device connected.디바이스가 연결되어있는지 확인하라고 뜨고 Android Studio 를 켜서 virtual deivce manager 에서 디바이스를 연결해놓고 하면 잘되는데 원래 Android Studio에서 디바이스를 연결해놓고 $ npx react-native run-android 를 실행하는게 맞는건가해서요.
-
해결됨맛집 지도앱 만들기 (React Native & NestJS)
npx react-native run-android 시 에러
계속 에러를 해결해보려했지만 어디부분이 잘못된건지 알고싶어 글 남깁니다처음에 프로젝트를 생성하고 나서 안드로이드는 실행되지만 해당 프로젝트 화면은 나오지않아 npx react-native run-android로 다시 실행하면 사진과 같은 에러가 발생합니다.Gradle , JDK와 관련된 에러같은데 삭제를 시도해보고 다시 설치해봣지만해결되지 않네요 ㅠ어디 부분이 문제인지 몰라 일단 몇개 사진 첨부합니다.!zshrc
-
해결됨맛집 지도앱 만들기 (React Native & NestJS)
피그마 파일 임포트가 안됩니다.
맛집 파일 업로드 하려고 하면 unable to import file 이라고 뜨네요.
-
해결됨맛집 지도앱 만들기 (React Native & NestJS)
react query 질문입니다.
양질의 강의 잘 듣고있습니다.queryKey: [queryKeys.POST, queryKeys.GET_POSTS],쿼리키에 다음과 같이 굳이 POST를 넣어주는 이유가 그룹화 하기위함인가요? 나중에 서비스가 커질 경우 어떤 항목의 get_posts인지 구분이 힘들어질수 있어서 그런것인지 궁금합니다.만일 그렇다면 useMutateDeletePost()에서 queryClient.invalidateQueries({queryKey: [queryKeys.POST]});로 처리하면 POST관련 모든 캐시가 지워지는건가요?
-
해결됨맛집 지도앱 만들기 (React Native & NestJS)
Marker 깜빡거림 문제
안녕하세요. map 에서 marker 가 깜빡거리는 문제가 있어서 질문드립니다. (map home 에서 아무 동작도 하지 않고 있는 상태, marker 가 지속적으로 깜빡거림)동영상을 업로드할 수 없어서 동영상 촬영후 깜빡거리기 전후를 캡쳐했습니다. 안드로이드에서만 발생하고, virtual device 와 실제 기기에서 모두 발생하고 있습니다. 혹시 계속해서 마커를 새로 조회해오거나, 제 실수로 리렌더링이 무한히 되는게 아닌가 싶어서, CustomMarker 컴포넌트랑, marker 조회하는 api 에 로그 추가해봤지만 한번 호출되고 그 후에는 함수가 실행되지 않는것으로 확인했습니다. 추가로 이 문제가 아이폰 simulator 에서는 발생하지 않고 있습니다. 혹시 제가 더 확인해 볼만한 포인트가 있을까요,,,? 같은 문제를 겪으신 분이 혹시 계실까요,,
-
해결됨맛집 지도앱 만들기 (React Native & NestJS)
강사님이 함수 정의 시 두 가지 스타일
안녕하세요.강의 내용에 대한 질문은 아니고, 코드 스타일에 대한 질문입니다.함수 정의하실 때 어쩔 때는 function 키워드 사용하시고 어쩔때는 arrow function 사용하시는데 특별한 기준이 있으신가요?아니면 그냥 그때그때 생각나는거로 쓰시는건가요?아니면 this scope 고려해서 상황에 따라 선택하시는건가요?특별한 기준이 혹시 있는건지 궁금합니다.
-
해결됨맛집 지도앱 만들기 (React Native & NestJS)
모바일 앱은 API key 를 요청 url 에 그대로 사용해도 문제가 없나요?
안녕하세요.[5-3] 장소 등록하기(4) - 주소 조회 with Google API 강의에서 질문이 있습니다.useGetAddress() hook 에서 get 요청 API 에 API Key 를 그대로 넣는데, 혹시 API key 가 노출될 위험이 없는 걸까요?보통 웹 환경이었으면 클라이언트가 서버로 LatLng 를 넘겨서 요청하면, 서버에서 API Key 로 address 얻어서 클라이언트 사이드로 넘겨주었을것 같은데, 모바일은 이렇게 프리(?)하게 사용해도 보안상 큰 문제가 없는지 궁금합니다! (특히 Production 환경에 배포하는 코드에서도 문제가 없을지 궁금합니다.)모바일 환경에서의 개발은 이 강의로 처음 하는거라 프로덕션 레벨까지 올렸을 때 어떻게 대응하는지에 대해 궁금한 점이 종종 생기는것같습니다.
-
해결됨핸즈온 리액트 네이티브
app>(tabs)>index.tsx 경로로 되어 있고 app.js 파일이 보이지 않아요.
Expo 프로젝트 생성 후 수업과 다른 파일 구조로 생성이 되서요. tsx 파일로 보입니다. 재설치 해야 할 까요?
-
해결됨배달앱 클론코딩 [with React Native]
(03:18) RN 버전에 따른 MainApplication.kt 사용자 가이드
MainApplication.java 가 아닌MainApplication.kt (Kotlin)일 경우@공식문서@Override protected String getJSBundleFile() { return CodePush.getJSBundleFile(); }대신override fun getJSBundleFile(): String { return CodePush.getJSBundleFile() }추가하시면 됩니다.
-
미해결따라하며 배우는 리액트 네이티브 기초
Expo로 ios, android 실행 시 ... 에러 ..... 제발 도와주세요
이것들이 도대체 뭘까요 ....안드로이드는 나오지도 않네요 .... 제발 알려주세요 ... "type": "module" 이거 에러는 왜자꾸 나는걸까요 ㅠㅠ node버전 확인해보면 22이상이라 에러가 안 떠야 하는데 계속 뜨네요 ㅠㅠ 지금 에러 때문에 아무것도 안되는데 제발 도와주세요 ..
-
미해결따라하며 배우는 리액트 네이티브 기초
Expo로 npm start 시 빨간 warning ...
Expo로 폴더를 만들어서 npm start를 했을 시 사진처럼 빨간 Warning이 나옵니다 ..어떻게 해결해야 하나요??package.json에 "type": "module" 작성도 해봤고,Xcode도 다운받아서 해봤습니다 ㅠㅠㅠ 근데도 사라지지 않네요 어떻게 해야하나요 ..
-
해결됨맛집 지도앱 만들기 (React Native & NestJS)
8-2.카카오 로그인 구현하기 with WebView 강의중
❗질문 작성시 꼭 참고해주세요최대한 상세히 현재 문제(또는 에러)와 코드(또는 github)를 첨부해주셔야 그만큼 자세히 답변드릴 수 있습니다.맥/윈도우, 안드로이드/iOS, 버전 등의 개발환경도 함께 적어주시면 도움이 됩니다. 에러메세지는 일부분이 아닌 전체 상황을 올려주세요!안녕하세요 강사님!현재 15분 38초를 진행하고 있는데 카카오를 로그인하면 무한로딩되면서 홈화면에는 안넘어가고 있습니다. 일단 access_token은 잘넘어오는데 백엔드에서 [Nest] 77076 - 2024. 07. 09. 오후 2:32:09 ERROR [ExceptionsHandler] ENOENT: no such file or directory, stat '/uploads/index.html'Error: ENOENT: no such file or directory, stat '/uploads/index.html' 라고 오류가 나옵니다. kakakoLoginMuattion부분 코드는 깃헙보면서 오타는 없는지 확인했습니다
-
미해결배달앱 클론코딩 [with React Native]
bottom tab 초기화 관련
1) 메인 화면(초기화면) 에서 bottom tab 메뉴 목록 화면 > 상세화면으로 바로 이동 The action 'NAVIGATE' with payload {"name":"Detail","params":{"idx":"15","crew_name":"123"}} was not handled by any navigator. Do you have a screen named 'Detail'? If you're trying to navigate to a screen in a nested navigator, see https://reactnavigation.org/docs/nesting-navigators#navigating-to-a-screen-in-a-nested-navigator. This is a development-only warning and won't be shown in production. 위 오류가 표시됩니다. 2) 메인화면 (초기화면) 노출 후 > 하단 탭 메뉴 클릭 > 메인으로 복귀 > 메뉴 클릭 <-- 정상 bottom tab 메뉴 초기화 등의 기능이 있는 걸까요? 도움 요청드립니다. 고맙습니다.
-
미해결배달앱 클론코딩 [with React Native]
FlatList의 최신 데이터가 로딩이 안되네요.
const itemId = route.params ? route.params.id : route.route.params.id;목록에서 위와 같이 아이디 값으로 상세 페이지로 들어가도록 했습니다.useEffect(() => { const geDetailData = async () => { try { const token = await EncryptedStorage.getItem('refreshToken'); const response = await axios.get( __DEV__ ? 'http://10.0.2.2:8888/api/deta/detail/' + itemId : 'http://xxx.xxx.xxx.xxx:8888/api/data/detail/' + itemId, { headers: { Authorization: token, }, }, ); dispatch( detailSlice.actions.setDetail({ id: response.data.id, detail: response.data.detail, nameList: response.data.nameList, cityList: response.data.cityList, }), ); } catch (error) {} }; if (isFocused) { geDetailData(); } }, [dispatch, isFocused, itemId]);위와 같이 useEffect로 데이터를 불러오고, isFocused로 페이지에 접속할 때 마다 새로운 데이터를 가져오도록 했습니다.return ( <ScrollView> <View style={styles.wrapper}> <View style={styles.boxZone}> <View> <FlatList data={detail.nameList} numColumns={3} keyExtractor={item => item.id} renderItem={renderNameList} columnWrapperStyle={styles.row} /> </View> </View> </View> <View style={styles.Wrapper}> <FlatList data={detail.cityList} keyExtractor={item => item.id} renderItem={renderCityList} ListEmptyComponent={ListEmptyComponent} /> </View> </ScrollView> );위와 같이 ScrollView 안에 FlatList를 두 개를 넣었습니다.이렇게 구조를 잡은 이유는상세 페이지에서 이름 목록과 시티 목록을 가져오기 위해서입니다.그리고 상단에서는const detail = useSelector((state: RootState) => state.detail);위와 같이 useSelector로 데이터를 불러왔습니다.그리고 renderNameList, renderCityList는 useCallback로 데이터를 불러와서 화면에 그리도록 작업을 했습니다.실행을 해 보면 결과가 이상하게 나옵니다.예를들어게시글 목록이 111, 222 두 개가 있을경우처음 111을 들어가면 정상적으로 나옵니다.그런데 111을 들어갔다 목록으로 와서 222를 들어가면 111 의 상세 데이터가 보여집니다.그 상태에서 다시 목록으로 가서 222를 들어가면 222의 데이터가 정상적으로 보여집니다.이런식으로 어떤 상세 페이지를 들어가더라도 처음 한 번은 이전 데이터가 나오고, 다시 목록으로 갔다가 상세로 들어가면 정상적인 데이터가 나오는데 아무리 이리저리 찾아보고, 적용을 해 봐도 도저히 원인을 못찾겠네요. if (isFocused) { geDetailData(); }isFocused를 사용해서 페이지 접근시 서버에서 데이터를 불러오도록 실행을 했는데, 처음 페이지에 접속할때는 정상적인 데이터가 안나옵니다.