inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

소셜 로그인 질문

해결됨

한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편

(6. 5) 소셜 로그인 구현하기 부분 보고 질문 드립니다. 현재는 사전에 자신 Github의 OAuth 정보를 입력해야 로그인 되는 것으로 보입니다. 혹시 이 정보를 사전에 등록하지 않고, github 로그인 버튼을 눌렀을 때, 아이디 비밀번호를 입력해, 그 때 인증을 유도하는 방법은 없나요?? 각기 다른 사용자들이 이 정보를 매번 등록할 수는 없지 않을까 싶어서 그렇습니다 !

  • react
  • typescript
  • react-query
  • supabase
  • zustand
bbcc8417 댓글 2 좋아요 0 조회수 116

타입스크립트 버전 선택 안되시는분

미해결

한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편

7:33 초 타입스크립트 버전 선택 ctrl + shift + p 입력후 select type 로 하면 검색 결과가 안나오고 TypeScript: Select 검색해야 버전선택이 가능하니 안되시는분 참고하시길.. 처음 하는 분들은 안되고 한번 검색한 적이 있는경우 최근에 사용한 항목으로 검색이 되는듯하네요..

  • react
  • typescript
  • react-query
  • supabase
  • zustand
김주원 댓글 1 좋아요 1 조회수 118

tsconfig.app.json에서 에러발생

해결됨

한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편

안녕하세요 선생님이 shadcn을 설치하고 있는데요 tsconfig.app.json에서 위와 같은 에러가 발생합니다. 혹시 몰라서 선생님이 올려두신 자료로 해봤지만 똑같네요... 그냥 "ignoreDeprecations": "6.0" 이걸 추가할까요?

  • react
  • typescript
  • react-query
  • supabase
  • zustand
박 태영 댓글 3 좋아요 0 조회수 457

67강 상태업데이트 강의 중 궁금한 점

미해결

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

import FirstCount from "./firstCount"; import SecondCount from "./secondCount"; import { useState } from "react"; export default function Main() { const [count, setCount] = useState(0); const handleSetCount = () => { setCount((prev: number) => prev + 1); }; return ( <> <h1>Main Component</h1> <FirstCount count={count} setCount={handleSetCount} /> <SecondCount count={count} setCount={handleSetCount} /> </> ); } import type { MouseEventHandler } from "react"; interface FirstCountProps { count: number; setCount: MouseEventHandler<HTMLButtonElement>; } export default function FirstCount({ count, setCount }: FirstCountProps) { return ( <> <h1>firstCount Component</h1> {count} <button onClick={setCount}>increase</button> </> ); } import type React from "react"; interface SecondCountProps { count: number; setCount: React.MouseEventHandler<HTMLButtonElement>; } export default function SecondCount({ count, setCount }: SecondCountProps) { return ( <> <h1>secondCount Component</h1> {count} <button onClick={setCount}>increase</button> </> ); } 맨 위에 코드가 부모컴포넌트인데 부모컴포넌트에서 증가 함수를 정의하고 그 아래에 props로 내려주는 패턴은 잘 쓰이지 않는 패턴인가요? 강의에서는 각 자식 컴포넌트에서 카운트 증가 로직이 있어서 중복되는거 같아요 그래서 부모에 하나로 정의하고 props로 내려주었는데 어느게 맞는 패턴인가요?

  • react
  • react-router
  • redux-toolkit
  • zustand
  • react.js
모카 댓글 3 좋아요 0 조회수 111

useSignInWithPassword에 넘기는 콜백 VS mutate의 두번째 인자 사용

해결됨

한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편

안녕하세요, 선생님. 강의 잘 듣고 있습니다:) 먼저 클린코드 작성 방법까지 알려주시면서 생각없이 따라 치지 않게 해주셔서 감사합니다. 이번 챕터에서 useSignInWithPassword 에 넘기는 콜백을 통해 성공, 에러 등의 처리를 진행하셨습니다. 이걸 보고 이전에 진행했던 프로젝트 리팩토링 부분이 생각나서 잠시 보고왔는데, 당시에는 mutate 함수에서 자체적으로 제공하는 두번째 인자로 콜백을 넘겨주는 기능을 활용했더라구요. mutate: (variables: TVariables, { onSuccess, onSettled, onError }) => void 선생님이 알려주신 방식과 이 방식의 차이점을 알고 싶습니다. 그리고 차이가 없다면 어떤 방식이 조금 더 효율적일지 선생님 의견이 궁금합니다. 이 방식을 사용했을 때 콜백 타입 정의는 제대로 이루어집니다. 다만, 이렇게 하면 협업 시 코드 스타일 통일이 안될 것 같다는 생각이 들긴 합니다. 읽어주셔서 감사합니다.

  • react
  • typescript
  • react-query
  • supabase
  • zustand
wonza4372 댓글 2 좋아요 0 조회수 124

19강 게시물 수정 기능 강의 질문입니다

미해결

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

export const requireAuth = () => { const token = sessionStorage.getItem("access_token"); if (!token) { return redirect("/auth/login"); } }; export const fetchPostModify = async ({ params }: LoaderFunctionArgs) => { try { const auth = requireAuth(); if (auth) return auth; const { data } = await axiosInstance.get(`/posts/${params.id}`); return data; } catch (e) { console.error(e); } }; fetchPostModify에서 requireAuth를 import 해서 reponse를 리턴해주고 있는데 여기서 어떤식으로 auth를 리턴시켜 requireAuth를 통해 redirect가 되는건지 조금 헷갈립니다

  • react
  • react-router
  • redux-toolkit
  • zustand
  • react.js
홍재훈 댓글 2 좋아요 0 조회수 57

react-native-fast-image는 react 19 버전에서 설치가 안되나요?

미해결

맛집 지도앱 만들기 (React Native & NestJS)

react 19 버전에 대한 관련 이슈 도 있더라구요 버전을 낮추려고 해도 3년 전 업데이트가 가장 최근 거라서 이것도 아닌 거 같아서.. 강의에서는 잘 설치되는 것 같은데 어떻게 해야할까요? yarn으로 하셨던데 npm으로 하는 것과 차이가 있는 걸까요? 아니면 그냥 npm install react-native-fast-image --legacy-peer-deps 를 사용하는 게 나을까요?

  • react-native
  • typescript
  • nestjs
  • react-query
  • zustand
oridori2705 댓글 2 좋아요 0 조회수 285

어플리케이션 테스트

해결됨

한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편

안녕하세요 강사님 강의를 열심히 수강하고 있는 학생입니다. 백엔드 개발자인데 프론트도 배워볼까 하다가 강사님의 강의가 눈에 들어와 열심히 수강중입니다 😃 백엔드에서는 TDD와 같은 방법으로 어플리케이션 테스트를 많이 하는데 이런 리액트 앱같은 경우에는 테스트를 어떻게 하나요? 특히 실무에서는 어떻게 테스트 하는지 궁금합니다. tanstack-query같은 로직적인 부분만 테스트 UI요소들까지 로드해서 렌더링 시 정상 동작하는지 테스트 통합테스트 사람이 일일이 눌러가며 테스트 어떤식으로 테스트하는지 궁금해서 남겨봅니다 감사합니다 😃

  • react
  • typescript
  • react-query
  • supabase
  • zustand
서동성 댓글 1 좋아요 0 조회수 100

zustand에 대한 질문입니다

미해결

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

zustand에서 값을 가져올때 useStore((state) => state...) 이거랑 useStore.getState()... 이거랑 어떤 차이인가요? 전자가 컴포넌트안에서 렌더링할때 가져오는 방식이고 후자는 단순히 현재시점의 스냅샷을 가져오는 건가요?

  • react
  • react-router
  • redux-toolkit
  • zustand
  • react.js
홍재훈 댓글 2 좋아요 0 조회수 85

19강 몽고db관련 오류입니다

미해결

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

(사진)

  • react
  • react-router
  • redux-toolkit
  • zustand
  • react.js
홍재훈 댓글 2 좋아요 0 조회수 58

오타 찾았어요

해결됨

한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편

[2:10] zotai 가 아니고 jotai 인거 같아요.

  • react
  • typescript
  • react-query
  • supabase
  • zustand
굿데이 댓글 2 좋아요 0 조회수 109

12.1강 강의 노트 vercel.json 누락(?)

해결됨

한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편

강의 하단에 vercel.json 내용이 담긴 노트가 안보이는 것 같은데 누락 된 것이 아닌가 싶어서 Q&A 남깁니다! { "rewrites": [ { "source": "/(.*)", "destination": "/" } ] }

  • react
  • typescript
  • react-query
  • supabase
  • zustand
햄굴이 댓글 1 좋아요 0 조회수 103

10.7강 취소 버튼 렌더링 조건 오류

미해결

한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편

강의에서 comment-editor.tsx 의 취소 버튼을 조건부 렌더링하는 코드를 수정하는 과정에서 아래와 같은 조건을 사용하고 있는데요. 이렇게 되면 props.type === "REPLY" 일때만 의도대로 동작하고, props.type === "EDIT" 일때는 취소 버튼이 렌더링 되지 않습니다. {props.type === "EDIT" || (props.type === "REPLY" && ( <Button disabled={isPending} variant={"outline"} onClick={() => props.onClose()} > 취소 </Button> ))} 아래와 같이 렌더링 조건 부분을 괄호로 감싸주면 의도대로 동작하도록 수정됩니다! {(props.type === "EDIT" || props.type === "REPLY") && ( <Button disabled={isPending} variant={"outline"} onClick={() => props.onClose()} > 취소 </Button> )}

  • react
  • typescript
  • react-query
  • supabase
  • zustand
햄굴이 댓글 1 좋아요 1 조회수 89

useSignInWithPassword는 왜 mutaitions에 들어가나요?

해결됨

한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편

안녕하세요 좋은강의 감사합니다. 로그인의 비동기 관리 함수인 useSignInWithPassword 가 왜 mutations에 속하는지 궁금해서 질문남깁니다. 데이터를 전혀 변경하는게 없는 로그인처리인데 왜 mutations에 두셨는지 궁금합니다.

  • react
  • typescript
  • react-query
  • supabase
  • zustand
Kopher 댓글 2 좋아요 0 조회수 70

input 입력시 리스트 리렌더링 질문입니다.

미해결

한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편

말그대로 input 입력시 리스트가 리렌더링 되는거로 데브툴에서 보이는데 리스트 리렌더링이 안되게 하려면 어떻게 해야 하나요? 일전 한입리액트에서는 contextApI를 사용해서 그런가 생각을 하고 넘어갔었는데 지금도 동일하네요.

  • react
  • typescript
  • react-query
  • supabase
  • zustand
조민영 댓글 2 좋아요 1 조회수 86

tailwind css 클래스 네임 오타인가요?

미해결

한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편

강의 28:25 정도에 컨텐츠 부분 테일윈드 클래스 설정에 오타인지 확인해 주세요. break-words 가 word-break 를 표기한 건 가요? 아니면 테일윈드 버전에 따른 클래스 네임 변경인가요? {/* 2-1. 컨텐츠 */} <div className="line-clamp-2 break-words whitespace-pre-wrap"> {post.content} </div> 그리고 좋아요 버튼, 댓글 버튼 부분 에서 border-1 도 border 로 수정해야 할 듯 합니다. border 의 1은 단위를 생략하는 것으로 압니다.

  • react
  • typescript
  • react-query
  • supabase
  • zustand
Codingbear 댓글 2 좋아요 1 조회수 151

SQL Shell의 역할이 무엇인가요?

미해결

맛집 지도앱 만들기 (React Native & NestJS)

강의에서 비밀번호 입력하는 SQL Shell은 무슨 역할을 하는 건가요? SQL Shell을 켜서 비밀번호 입력을 하는데 이렇게 비밀번호까지 입력을 함으로써 어떤 일이 일어나는 건가요?? 해당 부분을 생략하면 어떤 일이 생기는 건가요 그리고 매번 서버를 킬 때 SQL Shell도 켜야하는 건가요? 안키고도 서버 동작은 잘 됩니다!

  • react-native
  • typescript
  • nestjs
  • react-query
  • zustand
oridori2705 댓글 1 좋아요 0 조회수 143

158번 강의 질문입니다

미해결

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

todoListItem을 React.memo로 메모이제이션 했음에도 todo를 추가했을때 리렌더링이 되는데 이때 todo 자체는 변한것이 아니고 todolist 컴포넌트에서 map으로 쓰고있기 때문에 전달받은 props가 변해서 리렌더링이 된것은 아니다 라고 하셨는데 그러니까 리스트아이템에서는 todo 배열 전체를 받은것이 아니고 todolist 컴포넌트에서 map으로 배열의 요소(객체)를 todolisitem에서 props로 전달받았기때문에 todo가 변한것이 아니다 이렇게 이해했는데 정확한 이해인지 궁금합니다

  • react
  • react-router
  • redux-toolkit
  • zustand
  • react.js
홍재훈 댓글 2 좋아요 0 조회수 66

제공 코드 eslint.config.js 파일 질문

미해결

한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편

선생님 제공 자료 eslint.config.js 파일에서 아래 코드로 작성되어 있는데 no-explicit-any 규칙이 오타난 걸까요? 강의는 2:40 쯤입니다 "@typescript-eslint/no-explicity-any": "off",

  • react
  • typescript
  • react-query
  • supabase
  • zustand
우잉 댓글 1 좋아요 2 조회수 86

중복 회원가입

미해결

한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편

이미 가입된 이메일로 다시 회원가입 시도하면 강의에서는 400 오류?가 발생하는데 저는 오류는 발생하지 않고 response에서 session 부분만 null 로 오는데 빠진 설정이 있을까요?

  • react
  • typescript
  • react-query
  • supabase
  • zustand
댓글 2 좋아요 0 조회수 111

인기 태그

인프런 TOP Writers

주간 인기글