inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

로그인을 할 시에 useSession에서 me data를 받아오지를 못하는 것 같습니다

해결됨

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

관련된 질문이 있나 찾아보고 혼자 코드 비교해보며 고군분투했지만 이유를 알 수가 없어 질문을 남깁니다! 질문 (afterLogin) > _component > LogoutButton.tsx 파일에서 useSession() 훅을 통하여 받아오는 data가 없어 if(!me?.user) 문에서 return 처리가 되어 로그아웃 버튼이 렌더링 되지 않습니다 -> 로그인이 제대로 되지 않는 것 같습니다 관련되서 추적을 해보니 터미널 창에 아래와 같은 에러가 뜹니다 네트워크 탭에서 session의 경우 response가 null로 넘어옵니다 application의 cookie또한 담기지 않습니다 아래는 관련된 파일들의 코드입니다.. mocks > handlers.ts auth.ts middleware.ts [...nextauth] > route.ts package.json 혹시나 다른분들도 저 같은 경우가 있으신 분들은 답변 한번 부탁드리겠습니다

  • react
  • next.js
  • react-query
  • next-auth
  • msw
일어나서코딩해야지 댓글 3 좋아요 0 조회수 697

강의 2:45에서 코드 붙여 넣는 기능이 궁금합니다.

해결됨

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

영상 중 해당 위치에서 left와 right를 둘이 같이 그대로 다른 곳에 쓰여진 코드를 가져오는 기능이 있는 듯이 보이는데요. 혹시 vscode에서도 해당 기능 사용할 수 있나요? 커서 올려두면 하나씩은 보이는데 저렇게 한번에 붙이는 기능이 있으면 좋겠네요. 강의 내용과 크게 상관없는 내용인데... 편리해보이는데 찾아볼 때 바로 원하는게 안나와서요.

  • react
  • next.js
  • react-query
  • next-auth
  • msw
공부중인사람 댓글 2 좋아요 0 조회수 294

Search 페이지의 Tab컴포넌트 useSearchParams 부분 질문 있습니다.

미해결

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

search 페이지의 Tab 컴포넌트에서 질문이 있습니다. searchParams에 hot과 new가 전달되는 부분이 어딘지 모르겠어서 질문드립니다.. 제 생각으로는 Tab 컴포넌트에서 인기, 최신 div를 클릭해서 값을 전달해야 할 것 같은데 해당 부분에서는 current useState만 변경하고 다른 변경은 없는 것 같습니다. 어느 부분에서 searchParams에 값을 전달해서, searchParams.get('q')로 값을 받아올수있는지 궁금합니다.. 아래 코드 첨부드립니다! "use client"; import style from "../search.module.css"; import { useState } from "react"; import { useRouter, useSearchParams } from "next/navigation"; export default function Tab() { const [current, setCurrent] = useState("hot"); const router = useRouter(); const searchParams = useSearchParams(); const onClickHot = () => { setCurrent("hot"); router.replace(`/search?q=${searchParams.get("q")}`); }; const onClickNew = () => { setCurrent("new"); router.replace(`/search?${searchParams.toString()}&f=live`); }; return ( <div className={style.homeFixed}> <div className={style.homeTab}> <div onClick={onClickHot}> 인기 <div className={style.tabIndicator} hidden={current === "new"}></div> </div> <div onClick={onClickNew}> 최신 <div className={style.tabIndicator} hidden={current === "hot"}></div> </div> </div> </div> ); }

  • react
  • next.js
  • react-query
  • next-auth
  • msw
dubu777 댓글 2 좋아요 0 조회수 460

figma css속성 안보임

해결됨

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

figma devmode가 24년 2월부로 유료화 되었다고 하는데 이제는 더이상 css속성을 확인할수 없나요? 회원가입 폼 만들어보려고 하는데 css가 안보이네요ㅠ

  • react
  • node.js
  • seo
  • graphql
  • next.js
매도리 댓글 1 좋아요 0 조회수 1139

export 로 GET,POST,middleware 사용 질문입니다

해결됨

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

안녕하세요 강의 잘 보고 있습니다 문득 궁금한점이 생겨 여쭤보고 싶은게 있는데요 ! api/auth/[...nextauth]/route.ts 파일 안에 NextAuth가 제공해주는 GET과 POST를 export해놓으면 api/auth/...something 경로로 타고 들어오는 api 요청은 export한 GET과 POST로 사용이 된다라고 말씀해주셨는데 그 GET과 POST는 어디서 호출을 하는걸까요 ? 마찬가지로 middleware.ts 파일에도 NextAuth에서 제공하는 auth를 middleware로 네이밍을 변경하여 사용한다고 하셨는데 그 middleware도 어디서 호출을 해서 사용하고 있는걸까요 ? 내보냈다는건(export) 어디선가 받아와서(import) 해서 사용하는게 아닌가 싶어서 질문 드려봅니다 초보적인 질문이지만 해결하고 가고 싶어서 질문 드려봅니다

  • react
  • next.js
  • react-query
  • next-auth
  • msw
일어나서코딩해야지 댓글 1 좋아요 1 조회수 390

Suspense , prefetch 질문

해결됨

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

Suspense로 Streaming하여 최적화하기(feat. loading.tsx, error.tsx) 강의를 듣던 중 헷갈리는 부분이 있어서 질문 남깁니다. atferLogin > page.tsx 에서 Suspense를 사용해서 TabDeciderSuspense 를 감싸주고 있는데 TabDeciderSuspense 내부 코드를 보면 위와 같이 prefetch를 통해 postsRecommends관련 데이터를 서버에서 그려서 클라이언트로 하이드레이션 해주고 있습니다. 제가 이해한 바로는 이 장점이 사용자가 해당 페이지를 빠르게 볼 수 있다. 그래서 서스팬스를 사용하지 않았을 땐 로딩바가 뜰 새도 없이 페이지가 잘 보여지게 되는데, 지금은 프리패치로 데이터를 먼저 받아오는것과 서스팬스 풀백을 통해 로딩에 관한 부분을 둘 다 사용하고 있는 걸로 보여서 좀 헷갈려서 질문드려요. 서스팬스로 로딩을 보여주고 싶으면 TabDeciderSuspense에서 프리패치를 사용하는 의미가 없는 거 아닌가요?

  • react
  • next.js
  • react-query
  • next-auth
  • msw
윤건호 댓글 1 좋아요 0 조회수 416

지금 강의 영상(클라이언트 컴포넌트로 전환하기)에서 @modal 폴더 내에 로그인 창이 외부에 뜨는 것 구현에 관하여

해결됨

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

지금 영상에서 @modal 폴더 내의 login 모듈css와 page.tsx 코드를 붙여넣기 전까지는 (beforeLogin) 폴더 내의 layout.tsx와 page.tsx에 의해 동작할 때 같은 화면에 패러렐 모달이 동작하였는데 해당 css 붙여넣는 순간 새로운 창이 팝업되면서 패러렐 모달이 로그인 창으로서 뜨는 것이 어떻게 구현되는 것인지 설명이 안되어서 그 부분이 궁금해 지길래, 코드를 다운받아 하나씩 뜯어보면서 비교해보려 했는데요... 코드 다운을 하려 보니 1챕터가 다 끝난 이후에 코드가 정리되어 있어서 해당 폴더에 이 강의에서 설명하는 코드 파일이 없네요. 강의 후기에서 정리가 잘 안되어 있다고 후기 남긴 일부는 이런 것을 얘기한 것 같네요... 해당 팝업 기능은 어떤 부분에서 구현되는 것인지, 단순히 css 붙여넣기 만으로 구현이 안될 것 같은데, 그런 기능이 따로 있는 것인지 알려주시면 감사하겠습니다. 뒤의 강의 계속 보다 보면 나올지 모르기에 일단 여기다 질문 넘기고 다음 강의 듣겠습니다. 혹시 뒤에서 설명을 해주시는게 맞더라도, 이 영상 보고서 그런 고민을 하고 있는 분들이 생길 수 있으니, 지금 영상 수업 질문에 간단히라도 알려주시면 감사하겠습니다.

  • react
  • next.js
  • react-query
  • next-auth
  • msw
공부중인사람 댓글 1 좋아요 0 조회수 397

메타 데이터 질문

미해결

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

랜더링 되는 layout.tsx에도 metadata를 명시하고, page.tsx에도 metadata를 명시한다면 page.tsx의 메타 데이터로 오버라이딩 되는 것인가요?

  • react
  • next.js
  • react-query
  • next-auth
  • msw
roider2316 댓글 1 좋아요 0 조회수 241

node 20이상 쓸때 꿀팁

미해결

[React 1부] 만들고 비교하며 학습하는 React

package.json에서 "scripts": { "start": "export NODE_OPTIONS=--openssl-legacy-provider && webpack serve", "build": "webpack" }, 를 추가해주면 open-ssl 관련 에러가 사라집니다.

  • react
  • mvc
dohyun_lim 댓글 3 좋아요 4 조회수 791

회원가입이 되지 않습니다.

미해결

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

안녕하세요. 회원가입을 하려고 할 때 이상한 점이 몇 가지 있어 질문을 남겨봅니다. 삽질을 하다가 다른 분의 질문을 보고 npm i next-auth@5.0.0-beta.3 이건 적용을 해본 상태입니다. [auth][error] UnknownAction: Cannot parse action at /api/auth/session localhost:3000 으로 접속하고 나면 잠시 뒤에 콘솔에 이런 에러가 뜹니다. 회원가입이 되지 않는 문제 아이디, 닉네임, 비밀번호, 이미지를 넣고 회원가입을 하면 [auth][error] UnknownAction: Cannot parse action at //callback/credentials .Read more at https://errors.authjs.dev#unknownaction at parseActionAndProviderId (webpack-internal:///(action-browser)/./node_modules/@auth/core/lib/utils/web.js:87:27) at toInternalRequest (webpack-internal:///(action-browser)/./node_modules/@auth/core/lib/utils/web.js:32:40) at Auth (webpack-internal:///(action-browser)/./node_modules/@auth/core/index.js:82:103) at signIn (webpack-internal:///(action-browser)/./node_modules/next-auth/lib/actions.js:55:71) at signIn (webpack-internal:///(action-browser)/./node_modules/next-auth/index.js:82:75) at $$ACTION_0 (webpack-internal:///(action-browser)/./src/app/(beforeLogin)/_lib/signup.ts:53:60) at async /Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:39:406 at async t0 (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:38:5773) at async rh (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:39:23636) at async doRender (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/server/base-server.js:1391:30) at async cacheEntry.responseCache.get.routeKind (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/server/base-server.js:1552:28) at async DevServer.renderToResponseWithComponentsImpl (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/server/base-server.js:1460:28) at async DevServer.renderPageComponent (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/server/base-server.js:1843:24) at async DevServer.renderToResponseImpl (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/server/base-server.js:1881:32) at async DevServer.pipeImpl (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/server/base-server.js:909:25) at async NextNodeServer.handleCatchallRenderRequest (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/server/next-server.js:266:17) at async DevServer.handleRequestImpl (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/server/base-server.js:805:17) TypeError: Invalid URL at new URL (node:internal/url:775:36) at signIn (webpack-internal:///(action-browser)/./node_modules/next-auth/lib/actions.js:61:19) at async $$ACTION_0 (webpack-internal:///(action-browser)/./src/app/(beforeLogin)/_lib/signup.ts:53:9) at async /Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:39:406 at async t0 (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:38:5773) at async rh (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:39:23636) at async doRender (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/server/base-server.js:1391:30) at async cacheEntry.responseCache.get.routeKind (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/server/base-server.js:1552:28) at async DevServer.renderToResponseWithComponentsImpl (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/server/base-server.js:1460:28) at async DevServer.renderPageComponent (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/server/base-server.js:1843:24) at async DevServer.renderToResponseImpl (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/server/base-server.js:1881:32) at async DevServer.pipeImpl (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/server/base-server.js:909:25) at async NextNodeServer.handleCatchallRenderRequest (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/server/next-server.js:266:17) at async DevServer.handleRequestImpl (/Users/moonhyunjun/Desktop/study/frontend/z.com/node_modules/next/dist/server/base-server.js:805:17) { code: 'ERR_INVALID_URL', input: 'undefined' } 이런 에러가 뜨며 회원가입이 되지 않습니다. 그런데 npm i next-auth@5.0.0-beta.3 이걸 적용하기 전에는 1번에서 언급한 에러는 떠 있어도 회원가입은 정상적으로 됐었는데 beta.3 버전을 설치한 이후에는 회원가입이 아예 안 되네요. 회원가입 후 로그아웃 버튼이 보이지 않는 문제 이건 회원가입이 정상적으로 됐을 때 궁금했던 부분입니다.회원가입이 되면 /home으로 리다이렉트가 됐었는데 그런데 전 로그아웃 버튼이 보이지가 않더라구요. useSession() 으로 데이터를 받아오지 못 해 null 을 리턴해서 그랬던 것이 맞을까요?

  • react
  • next.js
  • react-query
  • next-auth
  • msw
비가싫어요 댓글 2 좋아요 0 조회수 735

해시태그 가공해보고 싶습니다 ㅠ

미해결

[리뉴얼] React로 NodeBird SNS 만들기

해시태그를 가져오려 include: [{ model: Hashtag, attributes: ["hashtag"], through: { attributes: [] } }], 이런식으로 코드를 짯는데 프론트로 데이터를 보내는게 Hashtags: [ 1:{hashtag: "ㅁㄴㄴ"} 2: {hashtag: "ㅇㅇㅇ"} 3: {hashtag: "ㅂㅂㅂ"} 4: {hashtag: "ㅁㅁㅋㅋ"}] 이런식으로 데이터가 가더라구요 여기서 hashtag 라는 이름 없이 Hashtags: [ 1 : "ㅁㄴㄴ" 2:"ㅇㅇㅇ" 3:"ㅂㅂㅂ" ] 이런식으로 보내고 싶은데 방법 없을까요...

  • react
  • redux
  • node.js
  • express
  • next.js
GI P 댓글 2 좋아요 0 조회수 330

vercel에 배포후의 public 폴더 문제

미해결

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

안녕하세요. 이번에 nextjs 14 로 배포후에 public 폴더의 mp3 나 obj 파일들은 로드가 잘되는데, jpeg 는 404 에러가 나는 이유가 어떤걸까요? Image next 태그를 사용했습니다.

  • react
  • next.js
  • react-query
  • next-auth
  • msw
K1 댓글 1 좋아요 -2 조회수 565

jest 테스트코드 작성을 위한 사전세팅 중 문제가 발생했습니다.

미해결

2시간으로 끝내는 프론트엔드 테스트 기본기

안녕하세요 jest 테스트코드 작성을 위한 사전세팅중 위와 같이 코드를 작성 후 실행하였더니 이러한 에러가 발생하였습니다. jest를 사용하며 import라는 구문을 사용하지 못한다는 에러같은데 해결 방법이 있을까요??

  • react
  • jest
  • 소프트웨어-테스트
  • Cypress
  • storybook
  • chatgpt
swoo1429 댓글 3 좋아요 0 조회수 843

next-auth 사용 로그인 관련 질문

해결됨

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

안녕하세요 강의 보면서 다른 프로젝트 진행 중 입니다. login을 msw로 구현하는곳에서 막혀서 질문드립니다. 로그인 버튼을 누르면 http://localhost:3000/api/auth/erro r 이쪽으로 이동하며 404페이지가 뜹니다 서버에서 에러를 떨궈주면 유추라도 하겠지만 9090번 3000번 둘 다 에러를 떨궈주지 않습니다.. 다른 질문글 중에 @auth/core와 next-auth의 버전을 변경해서 해결됬다는 글도 참고했지만 저는 해결되지않았습니다. 그리고 강의 중에 api/auth/signin 으로 들어가면 next-auth에서 제공하는 버튼이 뜨던데 저는 뜨지 않습니다.. 답변 부탁드립니다 감사합니다. 추가) 로그인시 api/login에 요청할때 네트워크 탭에서 localhost:3000/api/login이 아닌 localhost:3000/api/auth/error로 떨구는지도 궁금합니다. -----------------------------------감사합니다-------------------------

  • react
  • next.js
  • react-query
  • next-auth
  • msw
Sung Min Chos 댓글 1 좋아요 0 조회수 846

Next.js

해결됨

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

안녕하세요 제가 급히 Next.js에 관련하여 업무에 필요한데, 어느 강의부터 수강하면 될까요? 😅

  • react
  • node.js
  • seo
  • graphql
  • next.js
uri 댓글 2 좋아요 0 조회수 409

테스트 실행이 안되는 문제..

미해결

2시간으로 끝내는 프론트엔드 테스트 기본기

공유해주신 프로젝트 clone해서 수정 없이 npm run unit-test 명령어 실행 시, 아래 이미지와 같이 export().toBeInTheDocument() 를 찾지 못해 진도를 나가지 못하고 있습니다.. 혹시 해결방안을 알려주실 수 있으실까요? 구글링 검색 시, import "@testing-library/jest-dom"; 을 테스트 파일 가장 상위에 두라고 하는데 이미 되어 있고 다른 해결책들도 실행해보았지만 해결하지 못했습니다. 노드 버전은 20.10.0 , 18.19.0 , 18.14.0 에서 실행했을 때, 모두 실패했습니다..

  • react
  • jest
  • 소프트웨어-테스트
  • Cypress
  • storybook
  • chatgpt
mktae 댓글 1 좋아요 0 조회수 651

accounts/url 질의

미해결

장고 설계철학으로 시작하는 파이썬 장고 입문

화면과같이 include 부분 강좌와 다르게 저절로 세팅이 되고 서버 실행하면 계속 오류가나는데 어떻게해야하나요ㅜㅜ

  • python
  • django
동휘김 댓글 2 좋아요 0 조회수 260

"Error: This action with HTTP GET is not supported."

해결됨

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

안녕하세요. next-auth 로그인부분 수강중 "Error: This action with HTTP GET is not supported." 가 뜨고 있습니다. 다른분들 해결방법이 대부분 버전이슈였어서 버전을 맞췄는데도 해당 오류가 사라지지 않아서 질문드립니다.. // package.json { "name": "nadang-com", "version": "0.1.0", "private": true, "scripts": { "dev": "next dev", "build": "next build", "start": "next start", "lint": "next lint", "mock": "npx tsx watch ./src/mocks/http.ts" }, "dependencies": { "@auth/core": "^0.18.0", "@faker-js/faker": "^8.4.1", "classnames": "^2.5.1", "dayjs": "^1.11.10", "next": "14.1.0", "react": "^18", "next-auth": "^5.0.0-beta.3", "react-dom": "^18" }, "devDependencies": { "@mswjs/http-middleware": "^0.9.2", "@types/cors": "^2.8.17", "@types/express": "^4.17.21", "@types/node": "^20", "@types/react": "^18", "@types/react-dom": "^18", "cors": "^2.8.5", "eslint": "^8", "eslint-config-next": "14.1.0", "express": "^4.18.2", "msw": "^2.1.7", "typescript": "^5" }, "msw": { "workerDirectory": "public" } } # 터미널오류 ○ Compiling /api/auth/[...nextauth] ... ✓ Compiled /api/auth/[...nextauth] in 894ms (494 modules) ########### http://localhost:9090 ########### http://localhost:9090 [auth][error] UnknownAction: Cannot parse action at /api/auth/providers .Read more at https://errors.authjs.dev#unknownaction at parseActionAndProviderId (webpack-internal:///(rsc)/./node_modules/next-auth/node_modules/@auth/core/lib/utils/web.js:90:49) at toInternalRequest (webpack-internal:///(rsc)/./node_modules/next-auth/node_modules/@auth/core/lib/utils/web.js:32:40) at Auth (webpack-internal:///(rsc)/./node_modules/next-auth/node_modules/@auth/core/index.js:82:103) ..중략 [auth][error] UnknownAction: Cannot parse action at /api/auth/error .Read more at https://errors.authjs.dev#unknownaction at parseActionAndProviderId (webpack-internal:///(rsc)/./node_modules/next-auth/node_modules/@auth/core/lib/utils/web.js:90:49) at toInternalRequest (webpack-internal:///(rsc)/./node_modules/next-auth/node_modules/@auth/core/lib/utils/web.js:32:40) at Auth (webpack-internal:///(rsc)/./node_modules/next-auth/node_modules/@auth/core/index.js:82:103) at httpHandler (webpack-internal:///(rsc)/./node_modules/next-auth/index.js:139:80) at C:\Users\INA\Documents\workspace\next\nadang-sns\node_modules\next\dist\compiled\next-server\app-route.runtime.dev.js:6:63815 ... at DevServer.renderToResponseWithComponentsImpl (C:\Users\INA\Documents\workspace\next\nadang-sns\node_modules\next\dist\server\base-server.js:1463:53) ○ Compiling /src/middleware ... ✓ Compiled /src/middleware in 1197ms (218 modules) //LoginModal.tsx "use client"; import style from "@/app/(beforeLogin)/_component/login.module.css"; import { signIn } from "next-auth/react"; import { useRouter } from "next/navigation"; import { ChangeEventHandler, FormEventHandler, useState } from "react"; export default function LoginModal() { const [id, setId] = useState(""); const [password, setPassword] = useState(""); const [message, setMessage] = useState(""); const router = useRouter(); const onSubmit: FormEventHandler<HTMLFormElement> = async (e) => { e.preventDefault(); setMessage(""); let shouldRedirect = false; try { await signIn("credentials", { username: id, password, redirect: false, //true로 하면 서버에서 리다이렉트 }); shouldRedirect = true; } catch (error) { console.error(error); setMessage("아이디 또는 비밀번호가 일치하지 않습니다."); } if (shouldRedirect) { router.replace("/home"); } }; const onClickClose = () => { router.back(); }; const onChangeId: ChangeEventHandler<HTMLInputElement> = (e) => { setId(e.target.value); }; const onChangePassword: ChangeEventHandler<HTMLInputElement> = (e) => { setPassword(e.target.value); }; return ( <div className={style.modalBackground}> <div className={style.modal}> <div className={style.modalHeader}> <button className={style.closeButton} onClick={onClickClose}> <svg width={24} viewBox="0 0 24 24" aria-hidden="true" className="r-18jsvk2 r-4qtqp9 r-yyyyoo r-z80fyv r-dnmrzs r-bnwqim r-1plcrui r-lrvibr r-19wmn03" > <g> <path d="M10.59 12L4.54 5.96l1.42-1.42L12 10.59l6.04-6.05 1.42 1.42L13.41 12l6.05 6.04-1.42 1.42L12 13.41l-6.04 6.05-1.42-1.42L10.59 12z"></path> </g> </svg> </button> <div>로그인하세요.</div> </div> <form onSubmit={onSubmit}> <div className={style.modalBody}> <div className={style.inputDiv}> <label className={style.inputLabel} htmlFor="id"> 아이디 </label> <input id="id" className={style.input} value={id} onChange={onChangeId} type="text" placeholder="" /> </div> <div className={style.inputDiv}> <label className={style.inputLabel} htmlFor="password"> 비밀번호 </label> <input id="password" className={style.input} value={password} onChange={onChangePassword} type="password" placeholder="" /> </div> </div> <div className={style.message}>{message}</div> <div className={style.modalFooter}> <button className={style.actionButton} disabled={!id && !password}> 로그인하기 </button> </div> </form> </div> </div> ); } // route.ts export { GET, POST } from "@/auth"; // auth.ts import NextAuth from "next-auth"; import CredentialsProvider from "next-auth/providers/credentials"; console.log("###########", process.env.AUTH_URL); export const { handlers: { GET, POST }, auth, } = NextAuth({ // 직접 만든 페이지는 따로 지정해줘야함 pages: { signIn: "/i/flow/login", newUser: "/i/flow/signup", }, providers: [ CredentialsProvider({ async authorize(credentials) { console.log("@#@#@#@#", credentials); const authResponse = await fetch(`${process.env.AUTH_URL}/api/login`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ id: credentials.username, password: credentials.password, }), }); if (!authResponse.ok) { return null; } const user = await authResponse.json(); return user; }, }), ], }); 혹시 제가 확인하다가 빠뜨린 부분이 있거나 잘못된 부분이 있다면 알려주시면 감사하겠습니다 ㅠㅠㅠ 계속 node_modules .next packge-lock.json 다 지우고 깔고 코드 하나하나 바꿔보고 하다보니까 이제 뭐가 어디서부터인지 보이지가 않습니다 ㅠㅠㅠㅠ

  • react
  • next.js
  • react-query
  • next-auth
  • msw
ina9377 댓글 1 좋아요 1 조회수 925

리스트 번호 클릭시 current가 항상 0입니다.

미해결

코드로 배우는 React 19 with 스프링부트 API서버

섹션 3. 리액트와 API서버 통신 - 목록처리(1) 학습중인데요. serverData를 console.log로 찍어보면 current가 항상 0입니다. 어디서 확인해야할까요?

  • react
  • spring-boot
  • jpa
  • jwt
  • redux-toolkit
이재윤 댓글 2 좋아요 2 조회수 439

productRepository.selectList 호출시 이미지 리스트를 List객체로 반환되는 방법을 알고 싶습니다.

미해결

코드로 배우는 React 19 with 스프링부트 API서버

productRepository.selectList 호출시 이미지 리스트를 List객체로 반환되는 방법을 알고 싶습니다. 아래의 코드를 보면 이미지리스트는 한개(pi.ord=0)만 가져오는데요. imageList의 모든값이 List객체에 담겨 Page<Object[]>에 포함되는 방법을 알고 싶습니다. Page<Object[]> result = productRepository.selectList(pageable); @Query("select p, pi from Product p left join p.imageList pi where pi.ord = 0 and p.delFlag = false") Page<Object[]> selectList(Pageable pageable);

  • react
  • spring-boot
  • jpa
  • jwt
  • redux-toolkit
심정진 댓글 1 좋아요 0 조회수 257

인기 태그

인프런 TOP Writers

주간 인기글