묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[리뉴얼] 맛집 지도앱 만들기 (React Native & NestJS)
안드로이드 안켜집니다.
❗질문 작성시 꼭 참고해주세요에러 메세지에서 단서를 찾을 수 있는 경우가 많습니다. 에러 메세지를 읽고 한번 검색해보시는것을 추천드립니다.질문글을 작성하실때는, 현재 문제(또는 에러)와 코드나 github을 첨부해주세요.개발중인 OS, ReactNative, Node 버전 등의 개발환경을 알려주셔야합니다.에러메세지는 일부분이 아닌 전체 상황을 올려주세요. 일부만 보여주시면 답변이 어렵습니다. 안녕하세요 강사님강의를 따라서 실행해보고 있는데,현재 ios는 시뮬레이터가 켜지지만, 안드로이드는 켜지지 않는 상황입니다.npx react-native doctor를 사용하여 뭐가 문제인지 확인했는데 해당 스크린샷처럼 나왔습니다환경변수도 공식문서처럼 다 했습니다.
-
미해결[리뉴얼] 맛집 지도앱 만들기 (React Native & NestJS)
ios 배포 - Distribute App 에러
Distribute App 버튼 클릭 시, 다음과 같은 에러가 표시됩니다 Upload Symbols FailedThe archive did not include a dSYM for the hermes.framework with the UUIDs 현재 React Native 버전으로 강의를 진행하다 보면 환경변수에서 Android 버전 관련 에러가 떠서, GitHub에서 pull 받아서 진행했는데 혹시 그게 원인일까요?
-
미해결타입스크립트로 배우는 리액트(React.js) : 기초부터 최신 기술까지 완벽하게
useState() 초기값에 대한 질문
안녕하세요. useState의 초기값으로 함수를 넣는 경우를 처음 접해서 질문드립니다. 제가 따로 찾아본 결과useState() 초기값으로 값이 아닌 함수를 넣어주게되면 -> 리랜더링시에 값이 평가되지않고 -> 쓸때없이 uuid가 생성되지 않아서 강의(86강 5분대)와 같이 useState 초기값으로 함수를 넣어주신게 맞나요??그리고 이를 lazy-initialization이라 명명하는게 맞을까요??좋은 강의 감사드립니다.
-
미해결[리뉴얼] 맛집 지도앱 만들기 (React Native & NestJS)
안드로이드에서 react-native-image-crop-picker의 설정 옵션에 대한 문제
❗질문 작성시 꼭 참고해주세요에러 메세지에서 단서를 찾을 수 있는 경우가 많습니다. 에러 메세지를 읽고 한번 검색해보시는것을 추천드립니다.질문글을 작성하실때는, 현재 문제(또는 에러)와 코드나 github을 첨부해주세요.개발중인 OS, ReactNative, Node 버전 등의 개발환경을 알려주셔야합니다.에러메세지는 일부분이 아닌 전체 상황을 올려주세요. 일부만 보여주시면 답변이 어렵습니다. (에러 일부만 자르거나 일부만 복사하지말아주세요) 안드로이드 환경에서 프로필 사진 수정 강의를 수강중에 계속 에러가 발생해서 진행하지 못했는데제가 문제원인을 추론해봤습니다. 우선 문제가 발생한 부분은 AddLocationScreen에서는 여러가지 사진을 등록해도 괜찮지만 프로필 사진은 단 한장만 등록해야하기 때문에useImagePicker 훅에 single과 multiple mode를 설정하는 과정에서 발생했습니다 .강의의 모든 코드를 따라서 적고 프로필 수정을 하기위해 actionSheet에서 [앨범에서 사진선택]을 누르면권한을 확인해 달라는 Toast오류 메시지가 발생했습니다. 하지만 AddLocation화면에서 이미 권한을 허용해 줬기 때문에 권한으로 인한 문제는 아니라 파악했고 useImagePicker 훅의 handleChangeImage 함수에서 에러 로그를 찍어본 결과 java.lang.IllegalArgumentException: Max items must be higher than 1이러한 로그를 확인 할 수 있었습니다 . 그래서 추측한 결과는강사님 코드에서 ImageCropPicker.openPicker({ mediaType: 'photo', multiple: true, includeBase64: true, maxFiles: mode === 'multiple' ? 5 : 1, })이 부분이 multiple은 true로 되어있지만, singlemode로 들어올 경우 maxFiles가 1로 설정되기 때문에 두 옵션이 충돌이 발생하는걸로 추측됩니다 . 그래서 저는 아래와 같이 일단 수정해서 문제를 해결했습니다.const handleChangeImage = () => { ImageCropPicker.openPicker({ mediaType: 'photo', multiple: mode === 'multiple', includeBase64: true, ...(mode === 'multiple' && { maxFiles: 5 }), }) .then(images => { const imageArray = Array.isArray(images) ? images : [images]; const formData = getFormDataImages('images', imageArray); uploadImages.mutate(formData, { onSuccess: data => mode === 'multiple' ? addImageUris(data) : replaceImageUri(data), onSettled: () => onSettled && onSettled(), }); }) .catch(error => { if (error.code !== 'E_PICKER_CANCELLED') { console.log('[error]', error); Toast.show({ type: 'error', text1: '권한을 허용했는지 확인해주세요.', position: 'bottom', }); } }); };multiple옵션은 mode==='multiple' 코드를 통해 mode의 값에 따라 true / false로 주어지게 하였고maxFiles 옵션또한 mode가 multiple인 경우에만 maxFiles:5라는 옵션이 주어지게 하였습니다.아마 multiple옵션이 false로 주어지면 maxFiles가 자동으로 1로 설정되어서 발생하는 충돌문제 였던 것 같습니다.강의 들으시는 분들에게 도움이 되었으면 합니다 .
-
미해결타입스크립트로 배우는 리액트(React.js) : 기초부터 최신 기술까지 완벽하게
Post 상태 관리
서버로부터 받아오는 Posts를 <PostList/> 컴포넌트에서 상태로 관리하는데, 이것은 전역 상태로 관리하지 않는 이유가 있을까요?postStore에서 getTotalPages를 할때, 고정된 값 100을 사용했는데, 실제 서비스라면 어떻게 처리해야하나요?postStore에서 posts.length와 같은 전체 개수를 알아야할것같은데.
-
미해결[리뉴얼] 맛집 지도앱 만들기 (React Native & NestJS)
[8-12] ios 연동 시, 라이브러리 버전 에러 질문
현재 기준 react-native-apple-authentication 버전을 2.4.1로 설치하면 Gradle 에러가 발생합니다.강의에서는 2.3.0 버전을 사용하는 것 같은데, 혹시 해당 버전이 강의에서 사용된 버전이 맞는지 궁금합니다.
-
미해결타입스크립트로 배우는 리액트(React.js) : 기초부터 최신 기술까지 완벽하게
tailwindcss 부분적용 문제
참 신기하게도 tailwindcss 공식문서에 나온대로 그대로~~~ 했는데 아이러니 하게도<h2 className="text-8xl font-bold underline">hello world</h2>해당 코드에서 font-bold랑 underlilne은 잘만 적용되는데 text-8xl만 적용이 안되네요 왜 이러는건지 전 이해가 안되네요 따로 styled-component에서 globalStyle을 적용해서 작업중이라서 예상은 되는데 어떻게 수정해도 답이 안보이네요
-
해결됨타입스크립트로 배우는 리액트(React.js) : 기초부터 최신 기술까지 완벽하게
vscode 셋팅질문
안녕하세요 강의 잘듣고있습니다 선생님 다름이 아니라 제 화변 볼때보다 선생님 화면볼때가 뭔가 눈이 편안하고 폰트도 눈에 잘들어오는 느낌인데 어떤 테마와 폰트인지 여쭤봐도될까요...
-
미해결타입스크립트로 배우는 리액트(React.js) : 기초부터 최신 기술까지 완벽하게
section8 93강 [해설] 복합 상태 버튼 그룹 스타일링 및 관리에 관련 궁금증
해설 강의를 보다가 궁금한 점이 생겨 글 남겨봅니다. <button key={btn.id} className={cx("button", { active: activeStates[btn.id], disabled: btn.isDisabled, highlight: btn.id === 2, })} onClick={() => handleToggle(btn.id, btn.isDisabled)} // disabled={btn.isDisabled} <- 따로 안쓰신 특별한 이유가 있는걸까? > {btn.icon} {btn.label} </button> // 토글 함수 const handleToggle = (id: number, isDisabled: boolean) => { if (isDisabled) return; setActiveStates((active) => ({ ...active, [id]: !active[id], })); };disabled처리를 해도 스타일과 상태값이 변경되는 문제로 토글함수에 값을 전달해서 isDisabled가 true이면 return되게 작성하셨는데 button에 disabled 속성을 사용하지 않으시고 따로 isDisabled를 전달해 매개변수로 받아 처리하신 이유가 있나요?
-
미해결타입스크립트로 배우는 리액트(React.js) : 기초부터 최신 기술까지 완벽하게
vscode 호버힌트 툴팁
redux slice 생성 강의(1:37)에 호버하면 뜨는 툴팁에서 위에 간략한 설명은 똑같이 뜨는데 강사님처럼 아래 Error 로 더 자세히 뜨는 부분도 보고 싶은데 안 보입니다. 어떻게 설정해야 하나요?
-
미해결[리뉴얼] 맛집 지도앱 만들기 (React Native & NestJS)
[4-6] 안드로이드 커스텀 맵 적용 안됨
MapHomeScreen.tsx 파일에서 MapView에 googleMapId를 추가했는데, ios에는 적용되지만 안드로이드에서는 적용이 되지 않습니다 별도로 설정해줘야하는 부분이 있을까요?
-
해결됨타입스크립트로 배우는 리액트(React.js) : 기초부터 최신 기술까지 완벽하게
객체 상태 다루기 정리에서
불변성을 유지하기 위해 깊은 복사를 해야 한다고 설명하셨는데 스프레드 연산자는 얕은 복사아닌가요??왜 깊은 복사라는 표현을 사용하셨는지 궁금합니다!
-
미해결리액트 취준생을 위한 Zustand 실전 입문 가이드
[문의] 섹션 4 “미니 프로젝트로 배우는 Zustand” 업로드 일정
안녕하세요.좋은 강의 제공해 주셔서 감사합니다. 강의를 통해 많은 도움을 받고 있습니다. 혹시 현재 강의에서 섹션 4 “미니 프로젝트로 배우는 Zustand” 부분이 준비 중인 것으로 확인했는데, 혹시 해당 섹션은 언제쯤 업로드될 예정인지 궁금하여 문의드립니다.
-
미해결[리뉴얼] 맛집 지도앱 만들기 (React Native & NestJS)
8월 공개 예정인 강의들은 언제즈음 올라올까요
기다리고 있어요 엉엉
-
미해결[리뉴얼] 맛집 지도앱 만들기 (React Native & NestJS)
[2-0] Stack Navigation 에러
강의 내용대로 설정하고 App에 <AuthNavigation />을 추가하니 아래와 같은 에러가 발생했습니다.아직 강의를 두 개밖에 듣지 않았는데, 이 에러 때문에 진도를 나가지 못하고 해결하느라 너무 많은 시간을 소모하고 있습니다.
-
미해결[리뉴얼] 맛집 지도앱 만들기 (React Native & NestJS)
프로젝트 생성 시 android 폴더 오류 및 npm run android 실행 오류
error Failed to install the app. Command failed with exit code 1: ./gradlew app:installDebug -PreactNativeDevServerPort=8081WARNING: A restricted method in java.lang.System has been called위와 같은 에러가 표시되어 안드로이드 시뮬을 킬 수가 없습니다. 방법대로 했는데, 이런 경우 어떻게 해야하나요?
-
해결됨타입스크립트로 배우는 리액트(React.js) : 기초부터 최신 기술까지 완벽하게
auto import했을때에 Dispatch, SetStateAction
import type { Dispatch, SetStateAction } from "react"; 저는 강의와 다르게 이렇게 type이 붙어서 나오는데, 에러는 나지 않지만.. 궁금해서 질문 남깁니다무엇이 다른건가요?
-
해결됨기초부터 배우는 Next YTMusic 클론 코딩 (with next.js 14, UI 마스터)
4.6강 초기 로딩 속도 케이스 비교
4.6강 초기 로딩 속도 케이스 비교 세가지 케이스를 적어주셨는데 case1, case3이 같은 건가요?제가 이해를 못한 건가 싶어서 세 번 돌려봤는데 같아 보여서요.
-
미해결Next.js App router 기반 Chat GPT 만들기
섹션6 헤더 마크업 - zustand 적용에 오류가 발생합니다
// model.ts import { create } from 'zustand'; type State = { model: string; }; type Action = { updateModel: (model: State['model']) => void; }; const useModelStore = create<State & Action>((set) => ({ model: 'gpt-3.5-turbo', updateModel: (model) => set(() => ({ model })), })); export { useModelStore }; // ModelSelect.tsx 'use client'; import { useModelStore } from '@/store/model'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../ui/select'; const MODELS = ['gpt-3.5-turbo', 'gpt-4', 'gpt-4o']; export default function ModelSelect() { const { model: currentModel, updateModel } = useModelStore((state) => ({ model: state.model, updateModel: state.updateModel, })); const handleChange = (selectModel: string) => { updateModel(selectModel); }; return ( <Select value={currentModel} onValueChange={handleChange}> <SelectTrigger className="w-[180px] border-none focus:ring-transparent"> <SelectValue placeholder="모델 선택" /> </SelectTrigger> <SelectContent> {MODELS.map((model) => ( <SelectItem key={model} value={model} disabled={currentModel === model}> {model} </SelectItem> ))} </SelectContent> </Select> ); } 위 코드 적용 결과 아래와 같은 무한반복 에러가 발생합니다. 강의 내용과 비교해 보아도 문제를 찾지 못했습니다 ㅜㅜ
-
미해결타입스크립트로 배우는 리액트(React.js) : 기초부터 최신 기술까지 완벽하게
counterReducer.ts
counterReducer.ts 파일은 왜 tsx파일이 아닌 ts인가요??