inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

인가 코드 관련 질문

미해결

React Native with Expo: 제로초에게 제대로 배우기

제로초님 안녕하세요! const result = await kakaoLogin(); 로그인 했을때 받아오는 result 내부의 accessToken이 백엔드에 전달해야될 인가 코드라고 생각하면 될까요?? 백엔드 개발자분에게 인가 코드를 전해드려야하는데 저게 인가 코드인건지 궁금합니다..!!

  • react
  • react-native
  • 하이브리드-앱
  • typescript
  • expo
댓글 2 좋아요 0 조회수 114

구글 OAuth 오류 ...

미해결

React Native with Expo: 제로초에게 제대로 배우기

추가로 npx expo start 해서 expo go 로 앱열면 이런 에러가나요.. 구글 OAuth 도전하다가 오류나는것 같은데.. 이제 메트로를 못쓰는건가요? development build로 들어가야하나요? › › Choose an app to open your project at http://192.168.10.54:8081/_expo/loading › Metro waiting on exp://192.168.10.54:8081 › Scan the QR code above with Expo Go (Android) or the Camera app (iOS) › Web is waiting on http://localhost:8081 › Using Expo Go › Press s │ switch to development build › Press a │ open Android › Press i │ open iOS simulator › Press w │ open web › Press j │ open debugger › Press r │ reload app › Press m │ toggle menu › shift+m │ more tools › Press o │ open project code in your editor › Press ? │ show all commands iOS Bundled 539ms node_modules/expo-router/entry.js (1439 modules) WARN expo-notifications: Android Push notifications (remote notifications) functionality provided by expo-notifications was removed from Expo Go with the release of SDK 53. Use a development build instead of Expo Go. Read more at https://docs.expo.dev/develop/development-builds/introduction/ . WARN expo-notifications functionality is not fully supported in Expo Go: We recommend you instead use a development build to avoid limitations. Learn more: https://expo.fyi/dev-client . WARN Require cycle: services/notificationService.ts -> services/firebaseService.ts -> services/notificationService.ts Require cycles are allowed, but can result in uninitialized values. Consider refactoring to remove the need for a cycle. LOG Firebase Messaging not available in Expo Go LOG Firebase Messaging not available in Expo Go ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes WARN Route "./(auth)/login.tsx" is missing the required default export. Ensure a React component is exported as default. ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes WARN Route "./(auth)/signup.tsx" is missing the required default export. Ensure a React component is exported as default. ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes WARN Route "./(modals)/add-asset.tsx" is missing the required default export. Ensure a React component is exported as default. ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes WARN Route "./(modals)/add-book.tsx" is missing the required default export. Ensure a React component is exported as default. ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes WARN Route "./(modals)/add-category.tsx" is missing the required default export. Ensure a React component is exported as default. ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes WARN Route "./(modals)/add-transaction.tsx" is missing the required default export. Ensure a React component is exported as default. ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes WARN Route "./(modals)/advanced-stats.tsx" is missing the required default export. Ensure a React component is exported as default. ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes WARN Route "./(modals)/asset-detail.tsx" is missing the required default export. Ensure a React component is exported as default. ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes WARN Route "./(modals)/book-sharing.tsx" is missing the required default export. Ensure a React component is exported as default. ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes WARN Route "./(modals)/budget-settings.tsx" is missing the required default export. Ensure a React component is exported as default. ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes WARN Route "./(modals)/change-password.tsx" is missing the required default export. Ensure a React component is exported as default. ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes WARN Route "./(modals)/manage-categories.tsx" is missing the required default export. Ensure a React component is exported as default. ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes WARN Route "./(modals)/profile.tsx" is missing the required default export. Ensure a React component is exported as default. ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes WARN Route "./(modals)/select-book.tsx" is missing the required default export. Ensure a React component is exported as default. ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes WARN Route "./(modals)/user-id-code.tsx" is missing the required default export. Ensure a React component is exported as default. ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes WARN Route "./(onboarding)/create-first-book.tsx" is missing the required default export. Ensure a React component is exported as default. ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes WARN Route "./(tabs)/asset.tsx" is missing the required default export. Ensure a React component is exported as default. ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): WARN [Layout children]: No route named "profile" exists in nested children: ["about", "book-settings", "help", "index", "invite-code", "join-book", "notifications", "settings", "book/[id]", "book/[id]/budget", "friends/requests", "ledger/[id]"] WARN [Layout children]: No route named "add-transaction" exists in nested children: ["about", "book-settings", "help", "index", "invite-code", "join-book", "notifications", "settings", "book/[id]", "book/[id]/budget", "friends/requests", "ledger/[id]"] WARN [Layout children]: No route named "add-book" exists in nested children: ["about", "book-settings", "help", "index", "invite-code", "join-book", "notifications", "settings", "book/[id]", "book/[id]/budget", "friends/requests", "ledger/[id]"] WARN [Layout children]: No route named "add-category" exists in nested children: ["about", "book-settings", "help", "index", "invite-code", "join-book", "notifications", "settings", "book/[id]", "book/[id]/budget", "friends/requests", "ledger/[id]"] WARN [Layout children]: No route named "select-book" exists in nested children: ["about", "book-settings", "help", "index", "invite-code", "join-book", "notifications", "settings", "book/[id]", "book/[id]/budget",

  • react
  • react-native
  • 하이브리드-앱
  • typescript
  • expo
윤형주 댓글 3 좋아요 0 조회수 184

IOS 빌드 오류...

미해결

React Native with Expo: 제로초에게 제대로 배우기

npm ls react npm ls react-native npm ls expo 버전을 알려주시면 질문자분과 동일한 환경에서 답변 드릴 수 있습니다 .이런 빌드 오류가 발생합니다.. 이유가 무엇일까요? ㅠㅠ

  • react
  • react-native
  • 하이브리드-앱
  • typescript
  • expo
윤형주 댓글 5 좋아요 0 조회수 154

에뮬레이터 에서 오류

미해결

React Native with Expo: 제로초에게 제대로 배우기

안녕하세요 푸쉬알림 카카오로그인 할때 엑스포 고우로 통해서 개발이 안되는걸로 아는데 그이후로부터는 빌드된 앱으로 들어가서 테스트 하는걸로 알고 있거든여 근데 빌든된 앱을 들어가서 ip주소 수동으로 쳐서 들어가려고 하는데 계속 에러가뜨네요 ping테스트 도 해보고 서버도 켜서 웹브라우저에서 번들 다운되는지도 확인했는데 에뮬레이터 접속이 안되네요

  • react
  • react-native
  • 하이브리드-앱
  • typescript
  • expo
gkgkgk 댓글 2 좋아요 0 조회수 68

IOS 빌드 시 팀정보를 회사로 등록해버렸어요.

미해결

React Native with Expo: 제로초에게 제대로 배우기

npm ls expo 버전을 알려주시면 질문자분과 동일한 환경에서 답변 드릴 수 있습니다. IOS 빌드 시 팀정보를 회사로 등록해버렸어요. 제 개인 애플 계정의 개인 personalteam으로 했어야하는데 회사 팀으로 해버렸어요 어떻게 수정해야할가요?

  • react
  • react-native
  • 하이브리드-앱
  • typescript
  • expo
윤형주 댓글 2 좋아요 0 조회수 92

수정하기 구현 중 작성완료 버튼을 누르면 아무 리스트도 뜨지 않습니다.

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

제목 그대로 수정하기 기능 구현 중 작성완료 버튼을 누르면 리스트에 나와야 하는데 위의 그림처럼 빈 리스트가 나옵니다. 계속 강의와 코드를 번갈아가면서 보는데 오류를 잡기 쉽지 않습니다. 아래는 실습했던 소스코드입니다. https://github.com/PARKSUNJUNG/section12 무엇이 문제일까요?

  • javascript
  • react
  • node.js
박선정 댓글 3 좋아요 0 조회수 139

React.memo 컴포넌트 렌더링 최적화 미션 day16 질문

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

안녕하세요. 강사님. react day 16 미션 contactEditor onChange 이벤트 발생 관련 렌더링 질문이 있습니다. 아래와 같이 ContactList에도 React.memo 내장함수를 적용했음에도 불구하고 contactEditor에서 텍스트를 입력하면 같이 렌더링 되는 이유를 모르겠습니다. const ContactList = ({contacts, onDelete}) => { return ( <div className="ContactList"> <div className="title">Contact List</div> {contacts.map((contact) => { return <ContactItem key={contact.id} contact={contact} onDelete={onDelete}/>; })} </div> ) } export default memo(ContactList); const ContactItem = ({contact, onDelete}) => { const onDeleteButtion = () => { onDelete(contact.id); } return ( <div className="ContactItem"> <div className="name">{contact.name}</div> <div className="email">{contact.email}</div> <button onClick={onDeleteButtion} name="remove" >🗑️ Remove</button> </div> ) } export default memo(ContactItem);

  • javascript
  • react
  • node.js
유일용 댓글 2 좋아요 0 조회수 90

[CSS&JS 마스터]공부하는 속도, 코드 리뷰

해결됨

[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스

현재 군대 사지방에서 공부하고 있는 군인입니다. 지금 현재 [입중급]CSS&JS 마스터를 수강하고 있습니다. 섹션1을 마치고 과제1을 모두 마치는 데에 총 4일이 소요됐습니다. 매일 2시간 씩밖에 컴퓨터를 사용하지 못하는데 이정도 속도면 괜찮은지 여쭙고 싶습니다. 그리고 중간중간 코드 리뷰를 받고 싶을 때에는 어떻게 하면 될까요?

  • react
  • react-native
  • 하이브리드-앱
  • graphql
  • next.js
ohwm 댓글 2 좋아요 0 조회수 106

상세페이지 구현 Author의 name 프러퍼티가 조회가 안됩니다.

미해결

Next.js 완벽 마스터 (v15): 노션 기반 개발자 블로그 만들기 (with 커서AI)

아무리 해도 안되서, 기존 코드를 복붙하고 사용하고, 공식문서를 봐도 페이지 properties의 Author.people[0] 내부에는 { id: "0219380..." , object: "user" } 만 있습니다. 이마저도 문자열이라 name프로퍼티가 없습니다. 노션 템플릿도 author가 적용이 되어있는 걸 확인했는데요. 혹시 api가 변경이 된 것일까요?

  • react
  • 블로그
  • next.js
  • cursor
  • cursorai
SEONGHOON KIM (Ste 댓글 2 좋아요 1 조회수 88

immer 에서 불변성이란

미해결

타입스크립트로 배우는 리액트(React.js) : 기초부터 최신 기술까지 완벽하게

immer 에서 불변성이란게 무슨 뜻인가요?

  • react
  • react-router
  • redux-toolkit
  • zustand
  • react.js
j j 댓글 2 좋아요 0 조회수 108

빌드 오류

미해결

React Native with Expo: 제로초에게 제대로 배우기

빌드 까지 성공했는데 orbit에서 시뮬레이터 실행하면 사진처럼 오류가 나옵니다 .

  • react
  • react-native
  • 하이브리드-앱
  • typescript
  • expo
지환 댓글 2 좋아요 0 조회수 86

List컴포넌트에서 필터링 하는 것과 App 컴포넌트에서 필터링하는 것의 차이

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

🚨 필독) 질문하시기 전에 꼭 읽어주세요 (10초 소요) 제목을 구체적으로 작성해 주세요 ✅ 좋은 예 : 감정일기장 Home 구현중 xx 이슈가 발생합니다. ⛔ ️ 나쁜 예 : 이거 왜 안되나요?, 오류나요 도와주세요 등 비슷한 궁금함을 갖고 계신 분들께 도움이 될 수 있어요! 코드의 이슈는 전체 프로젝트를 "링크 형태"로 올려주셔야 원인을 파악할 수 있습니다. 깃허브, 구글드라이브 등의 수단을 통해 링크 형태로 전달해주세요 직접 실행해보며 원인을 파악해야 하기 때문에 텍스트 형태로 붙여넣는건 삼가해주세요 🥲 답변이 도움이 되셨다면 답글 or 해결완료 버튼을 클릭해주세요 비슷한 궁금함을 갖고 계신 분들께 도움이 될 수 있어요! 제 답변이 여러분께 도움이 되었는지 저도 알고 싶어요 🥲 강의 내용에 궁금한 점이 있다면 몇 챕터의 몇 분 몇 초인지 알려주시면 더 좋아요 더 빠른 답변이 가능합니다! 안녕하세요. 강사님! 8.5) Read - 투두리스트 렌더링하기 강의에서 질문이 있습니다. 검색어로 필터링하는 기능이 List.jsx에 되어있는데요, 이 부분 관련해서 질문이 있습니다. 필터링이 App.jsx에서 필터링 하는 것과 어떤 차이가 있나요?? 어떤 이유에서 List.jsx에서 필터링하는지도 궁금합니다. (원본 데이터를 건들지않기 위함(?)일까요?) 그리고 어떤 컴포넌트에서 필터링 하더라도 리렌더링이 발생하는건가요? 감사합니다!

  • javascript
  • react
  • node.js
cdf313 댓글 2 좋아요 0 조회수 119

파일확장자 질문

미해결

타입스크립트로 배우는 리액트(React.js) : 기초부터 최신 기술까지 완벽하게

기본적으로 tsx 확장자로 된 파일을 만들어서 작업을 하는데 때에 따라 ts 같은 파일도 만든데 무슨 차이가 있나요?

  • react
  • react-router
  • redux-toolkit
  • zustand
  • react.js
j j 댓글 2 좋아요 0 조회수 173

section 8-2 css 선언 문의

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

안녕하세요. 강사님. section 8-2 투두리스트 프로젝트 UI 구현하기에서 css 스타일에 대해서 질문이 있습니다. .List > input 과같이 중간에 > 연산이 있는 경우와 없는 경우의 차이는 무엇인가요? 미션 day15 ContactEditor css 스타일에서 .input_wrapper className이 이미 적용되어 있는데 아래와 같이 부모 속성인 .ContactEditor를 명시할 필요가 있는지도 궁금합니다. .ContactEditor .input_wrapper

  • javascript
  • react
  • node.js
유일용 댓글 2 좋아요 0 조회수 104

Navbar.jsx 메뉴 바 제작 (2부) 강의 MobileToggleButton.jsx 코드가 다른 것 같아요

해결됨

React & FastAPI로 만드는 투표 커뮤니티 플랫폼: 결제 시스템으로 수익화까지!

Navbar.jsx 메뉴 바 제작 (2부) 강의 입니다. MobileToggleButton.jsx 강의 코드와 노션에 올라와 있는 코드가 다른 것 같네요? 강의에서는 toggle 관련 코드이고 노션에서는 onClick={() => setIsOpen(!isOpen)} 이렇게 되어있는데요 노션 코드로 하니 에러가 발생하는데 강의코드가 맞는건가요??

  • react
  • mysql
  • docker
  • rest-api
  • FastAPI
호호하하 댓글 1 좋아요 0 조회수 121

"" , '', `` 각각 사용 방법이 궁금해요.

미해결

타입스크립트로 배우는 리액트(React.js) : 기초부터 최신 기술까지 완벽하게

"" , '', `` 각각 사용 방법이 궁금해요.

  • react
  • react-router
  • redux-toolkit
  • zustand
  • react.js
j j 댓글 2 좋아요 0 조회수 55

interface 와 type

미해결

@시코 - TypeScript 제대로 배우기(초중급)

안녕하세요. 잘듣고 있습니다:) 강의에서 웬만하면 interface 대신 type 을 쓰라고 말씀하시더라고요! 저는 줄곧 type 만 쓰다가 최근에 props 같은 객체 타입은 interface를 사용하는 방향으로 바꿨는데, 이런 경우도 interface 보다 타입을 쓰는게 좋나요?(왜 그런지가 궁금합니다..!!) 그리고 interface 랑 type의 차이를 더 자세히 알고싶어요!

  • javascript
  • react
  • typescript
프빌쳐 댓글 2 좋아요 2 조회수 135

프레임워크 여론 파악법

미해결

Next + React Query로 SNS 서비스 만들기

next 15, app router를 알아갈수록 어째.. 제 취향에 안맞거나 제 서비스에 적용하기에 불리한 점들이 많은데요 저만 그런건지 궁금하기도 해서, 특정 프레임워크에 대한 평가나 여론을 알아보는 팁 같은게 있으신지 궁금합니다. 지금은 유튜브 검색해서 상위노출 영상 몇개에 의존하는데 모수가 부족한 느낌입니다 정석적으론 각 프레임워크 공식문서를 보고 그 특성들을 이해해 자기 서비스에 맞는걸 스스로 판단하는 것이겠지만, 그래도 집단지성에 기대고 싶네요ㅎ

  • react
  • next.js
  • react-query
  • next-auth
  • msw
Eric J 댓글 2 좋아요 0 조회수 149

router.push() 오류

미해결

React Native with Expo: 제로초에게 제대로 배우기

npm ls react : react@19.0.0 npm ls react-native: react-native@0.79.5 npm ls expo: expo@53.0.19 강의와 소스코드 자료에서 주어진 것과 동일하게 \[username]\index.tsx에 다음과 같이 작성했는데 router.push()에 동적 주소 넣는 부분에서 오류가 발생하는 것 같아요. 이 경우에는 어떻게 해결해야 하나요? import { Text, View, TouchableOpacity } from "react-native"; import { useLocalSearchParams, useRouter } from "expo-router"; export default function Index() { const router = useRouter(); const { username } = useLocalSearchParams(); return ( <View style={{ flex: 1, justifyContent: "center", alignItems: "center", }} > <View> <TouchableOpacity onPress={() => router.push(`/${username}`)}> <Text>Threads</Text> </TouchableOpacity> </View> <View> <TouchableOpacity onPress={() => router.push(`/${username}/replies`)}> <Text>Replies</Text> </TouchableOpacity> </View> <View> <TouchableOpacity onPress={() => router.push(`/${username}/reposts`)}> <Text>Reposts</Text> </TouchableOpacity> </View> </View> ); } '`/${string}`' 형식의 인수는 'RelativePathString | ExternalPathString | "/modal" | `/modal?${string}` | `/modal#${string}` | "/home" | `/home?${string}` | `/home#${string}` | "/[username]/index" | `/[username]/index?${string}` | ... 53 more ... | { ...; }' 형식의 매개 변수에 할당될 수 없습니다.

  • react
  • react-native
  • 하이브리드-앱
  • typescript
  • expo
dbrud5804 댓글 2 좋아요 0 조회수 97

필터옵션이 많은 페이지에서 서버 fetch를 하는게 맞는걸까요??

미해결

Next + React Query로 SNS 서비스 만들기

next 공식문서에서 서버 fetch를 권장하고 있지만 필터옵션이 다수 포진된 페이지에서도 서버 fetch를 해야할까 의문점이 듭니다. 필터 버튼 하나 누를때마다 다시 fetch 해야하니까 route.push나 replace 할 수 밖에 없는데 이게 과연 좋은 방법인가 의구심이 듭니다. 리액트 쿼리를 사용하는게 더 나을지, 서버 fetch를 사용하는게 나은지 선생님의 의견이 궁금합니다. 추가로 window.history.replaceState webAPI를 사용하면 단순 url만 변경하고 페이지 로드나 컴포넌트 리렌더링은 일어나지 않는걸로 알고 있는데요. 근데 리액트 쿼리로 클라이언트 fetch 할 땐 window.history.replaceState 로 url만 변경해도 다시 fetch가 되더라구요?? 어떤 원리로 동작하게 되는지 궁금합니다!

  • react
  • next.js
  • react-query
  • next-auth
  • msw
변재정 댓글 2 좋아요 0 조회수 137

인기 태그

인프런 TOP Writers

주간 인기글