묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편
tanstack query devtools에서 질문있습니다!
[todo,list]는 stale이 되는데평탄화한 캐시는 왜 fresh를 유지하는지 이해가 안됩니다😅
-
미해결한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편
댓글 삭제 시 isPending 질문
const { mutate: deleteComment, isPending: isDeleteCommentPending } = useDeleteComment({ onError: (error) => toast.error("댓글 삭제에 실패했습니다", { position: "top-center" }), });여기서 isPending을 쓸만한 곳이 없는거 같은데 굳이 필요한 이유가 있을까요?
-
해결됨한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편
두번째 예외상황에 대해 질문있습니다!
이해가 잘 안돼서요ㅜㅜ조회가 완료되기전 업데이트를 하는 경우 DB에 저장되는 값과 화면에 노출되는 값이 다를수가 있다는 얘기일까요?업데이트를 한다는건 화면에 데이터가 노출된다는건데 이 얘기는 캐시에 담겨져있는 데이터를 먼저 노출시킨다는 얘기일까요?
-
해결됨한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편
리액트 쿼리 질문입니다
isPending과 isLoading 차이점을 잘 모르겠습니다.각각 언제 쓰는지 활용처도 궁금합니다!
-
해결됨한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편
개발자도구에서 components 가 안보입니다.
React Developer Tools 다운받고확장프로그램 관리에서 설정도 했는데F12 개발자도구에서 components 탭이 안보이는데 설정하는 방법이 있을까요?
-
해결됨한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편
state 관리에 대한 정리
안녕하세요 정환님 !!!정환님 강의를 듣다가 state관리쪽에 개념이 갑자기 섞여서 질문을 하게되었어요 저는 현재 다음과 같은 방향으로 이해를 하고있어요한 페이지내에서 여러 컴포넌트를 사용할때 간단한 자식 구조에서는 props를 사용한다.한 페이지내에서 여러 컴포넌트를 사용할때 3~4 혹은 그이상으로 자식관계가 걸쳐있는 상태에서는 conntext API를 사용한다.로그인과 같이 특정 페이지가 아니라 여러 페이지에서 관리가 필요한 state는 zustand처럼 전역 라이브러리를 사용한다. 제가 이해한 방향이 맞을까요??
-
미해결한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편
[(2.4) Shadcn/ui를 소개합니다] 강의 Shadcn 세팅 관련 질문 있습니다.
안녕하세요 강의 잘 듣고 있습니다정환님 강의 하셨을 때랑 지금 공식 문서 설치 방법이 달라진 것 같은데 지금 공식문서대로 진행해도 tsconfig.app.json파일과 tsconfig.json파일에 경로 별칭 옵션이 적용이 되는건가요?아니면 강의 보고 그대로 세팅하면 될까요https://ui.shadcn.com/docs/installation/vite
-
미해결타입스크립트로 배우는 리액트(React.js) : 기초부터 최신 기술까지 완벽하게
discord 초대장 갱신이 필요한거같습니다.
안녕하세요, 디스코드 초대장이 올바르지 않다고 합니다.혹시 디스코드 채널을 닫으신걸까요?
-
해결됨한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편
like 테이블에서 왜 create_at이 필요한지 궁금합니다.
Table 생성시, 왜 created_at이 필요한가요? like 테이블에는 postId, userId만 있으면 될거같은데요...
-
미해결한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편
삭제가 바로 안되네요ㅠ
강의 소스코드를 똑같이 했는데 새로고침 없이 바로 삭제가 안되네요ㅠ 다른거는 api함수를 한 군데에 모은 거 밖에 없는데...
-
해결됨한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편
access 토큰은 꼭 소셜서버로부터 받아서 사용해야만하나요?!
안녕하세요 너무 쉽게 설명해주셔서 프론트 왕초보인 저도 아주 잘 따라가면서 강의를 듣고있습니다 ! 이번 파트에서 한가지 의문인점은저는 예전에 백엔드 서버를 구축할때 소셜로그인이 성공하면 백엔드 내에서 access 와 refresh 토큰을 만들어내서 refresh 를 쿠키형식으로 넘긴 후 소셜로그인 성공 리다이렉트를 바로 access token을 발급받을수있는곳으로 리다이렉팅시켜서 access를 추가적으로 받게끔 구축했었는데,이번 파트에서 의문인점은 보통 실무에서는 백엔드가 자체적으로 만드는 access refresh 토큰이 아니라 소셜서버자체에서 제공하는 access 와 refresh를 주로 활용하는걸까요 ?
-
해결됨한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편
전역 모달이 여러 개일 경우 모달 프로바이더는 몇 개가 필요한가요?
전역 모달을 2개 쓰고 싶어서 일단 스토어 2개를 만들었는데요. 모달 프로바이더도 2개를 만들어야하는지, 아니면 하나의 모달 프로바이더에 2개 모달을 모두 넣어도 되는지 궁금합니다. 그리고 만약 하나의 모달 프로바이더에 두 모달을 넣는다면 어떻게 코드를 작성해야 하는지 궁금합니다.// 1번 export default function ModalProvider({ children }: { children: ReactNode }) { return ( <> {createPortal( <> <AModal /> <BModal /> </>, document.getElementById("modal-root")!, )} {children} </> ); } // 2번 export default function ModalProvider({ children }: { children: ReactNode }) { return ( <> {createPortal(<AModal />, document.getElementById("modal-root")!)} {createPortal(<BModal />, document.getElementById("modal-root")!)} {children} </> ); }
-
해결됨한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편
프로필 수정 후 post item 의 글들에서 수정된 프로필 업데이트 반영
프로필 수정후 프로필 디테일 화면의 포스트 아이템들에서는 수정된 프로필 내용이 반영이 안되는 것이 확인됩니다. 시나리오대로라면 프로필 수정 후 포스트아이템의 프로필 ui 도 업데이트 해주는게 자연스러운듯 하여 위와 같이 아래 코드를 추가해 주었습니다. 맞을까요?queryClient.resetQueries({ queryKey: QUERY_KEYS.post.userList(updatedProfile.id), });
-
해결됨React 마스터 클래스: Part 3 - 실무 핵심 라이브러리 정복 (TypeScript, Zustand, React Hook Form, TanStack Query)
63,65 중복
탄스택쿼리 파트를 먼저 수강중에 중복되는 자료가 있어 말씀드려요. 63,65강의 자료가 동일합니다.추가적으로, 65강 처음에 나오는 코드는 useEffect가 아닌 useQuery를 통한 분기처리인데, 이 경우 race condition위험이 없지 않나요?
-
해결됨한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편
React 19 버전에서 새로운 린트 규칙으로 setState() 호출하기가 신경쓰입니다.
안녕하세요. 요즘 React 19로 다시 강의를 학습하고 있습니다. 그러다 보니 useEffect 내에서 setState() 호출 시 새로운 Lint 규칙으로 react-hooks/set-state-in-effect 대한 경고가 나옵니다. 즉 useEffect 에서 setState() 호출하여 불필요한 추가 렌더링이 발생한다고 경고합니다. (https://ko.react.dev/reference/eslint-plugin-react-hooks/lints/set-state-in-effect)아래 pos-editor-modal.tsx 에서도 setContent(""); 에서도 경고가 발생하네요..useEffect(() => { if (!isOpen) return; textareaRef.current?.focus(); setContent(""); // 경고 발생!! }, [isOpen]);요즘 들어 이런 경고가 신경 쓰이는 데.. 왜 이런 규칙이 생겼나요 ?수정 방법은 아래와 같이 코드를 수정하라 해서 변경했는데 ..startTransition() 을 사용해야 하나요..useEffect(() => { if (!isOpen) return; textareaRef.current?.focus(); startTransition(() => { setContent(''); }); }, [isOpen]);
-
해결됨한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편
zustand 사이트 이상해요!! 웹브라우저에서 응답없음 반응
요즘 zustand 공식 Docs 사이트가 이상해요..zustand 문서를 보려고 docs 사이트에 접속하면GPU 사용율이 오르고, 컴퓨터 온도도 확 올라가면서웹브라우저에서 응답없음이 나오고 멈춰버립니다.저만 이런 건가 해서 github 이슈를 검색해 봤더니 2025년말에도 이 같은 이슈가 있었는데..이거 zustand 에게 상태 관리 맡겨도 될까요? ㅎㅎ
-
해결됨한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편
supabase 에러 메시지를 번역해주는 라이브러리를 찾아서 알려드립니다.
에러 메시지 한국어로 변경하는 부분을 보다 보니 문득 해당 라이브리가 있는지 찾아 봤는데 있더라구요. 설치와 사용법은 아래와 같습니다. npm i supabase-error-translator-jsimport { AuthError } from '@supabase/supabase-js'; import type { ErrorService } from 'supabase-error-translator-js/dist/types'; import { setLanguage, translateErrorCode } from 'supabase-error-translator-js'; setLanguage('ko'); export function errorTranslator(error: unknown, service: ErrorService = 'auth') { if (error instanceof AuthError && error.code) { return ( translateErrorCode(error.code, service) ?? '알 수 없는 인증 오류가 발생했습니다. 잠시 후 다시 시도해 주세요.' ); } return '문제가 발생했습니다. 잠시 후 다시 시도해주세요.'; }
-
미해결타입스크립트로 배우는 리액트(React.js) : 기초부터 최신 기술까지 완벽하게
할일 관리 앱(메모이제이션)
import { useId } from "react"; type CheckboxProps = Omit<React.ComponentPropsWithoutRef<"input">, "type"> & { type?: "checkbox"; parentClassName: string; }; export default function Checkbox(props: CheckboxProps) { const uuid = useId(); const { parentClassName, children, ...rest } = props; return ( <> <div className={parentClassName}> <input id={uuid} {...rest} /> <label htmlFor={uuid}>{children}</label> </div> </> ); } useEffect(() => { const randomText = Array.from( { length: 100 }, (_, index) => `Todo Item #${index + 1}`, ); randomText.forEach((text) => addTodo(text)); }, []);대량 데이터 생성 후 테스트를 하는데 중복 키값이 생성되었는데요. uuid 부분인 것 같은데. 노트북 장비 사양 때문에 그런건지요? installHook.js:1 Encountered two children with the same key, 1770775434402. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — the behavior is unsupported and could change in a future version.
-
미해결한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편
4.6 id를 string으로 바꾸니까 오류가 나요
id를 똑같이 string으로 다 바꿨고 코드도 동일한데 이 부분에서 타입 오류가 납니다 ,,
-
미해결타입스크립트로 배우는 리액트(React.js) : 기초부터 최신 기술까지 완벽하게
Web 플랫폼 등록
안녕하세요 저도 아래에 글 남기신 분과 같은 질문사항인데요 카카오개발자센터가 리뉴얼 되면서 Web 플랫폼 등록을 어디서 해야될지 모르겠습니다. 올려주신 리뉴얼 영상에서는 리다이렉트 URL 설정하는 부분만 나와있습니다. 그리고 앱 띄워서 로그인 버튼을 클릭하면 아무런 반응이 없는데 onClick 같은 요소가 존재하지 않아서 그런 것 같습니다. 확인해주시면 감사하겠습니다.{/* 카카오 로그인 버튼 */} <button className="w-full flex items-center justify-center gap-2 bg-[#FEE500] text-[#000000] py-3 rounded-lg hover:bg-[#FDD800] transition-colors font-medium"> <img src="https://developers.kakao.com/assets/img/about/logos/kakaolink/kakaolink_btn_small.png" alt="Kakao Logo" className="w-5 h-5" /> Continue with Kakao </button>