묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
React와 Django-템플릿, HTMX 간의 관계 및 역할에 대한 질문
안녕하세요, 먼저 자세하게 django에 대해 강의해주셔서 감사합니다.강의가 제게 다소 어렵고 양이 방대하여 핵심을 놓치는 부분이 있어 저의 필요와 목적에 의한 질문을 드리게 됐습니다. 핵심적으로 드리고 싶은 질문은 다음과 같습니다.리액트와 django의 관계(리액트 컴포넌트가 적합한 부분, 리액트 컴포넌트에서 장고 템플릿+폼, 뷰와 모델, DB까지의 흐름)리액트 없이 django 기능만 이용하여 datagrid(view), datatable 형식을 사용하는 것이 좋은 방법인지에 대한 강의자님의 의견 django의 템플릿 문법으로 작성된 기본적인 디자인 구성이 된 웹 템플릿을 구하거나 접근하는 방법 웹 개발 숙련도가 매우 미숙하고 질문이 모호해 우선 양해 말씀 구합니다. 상기 질문에 대해서 배경을 부연 설명드립니다. [1번 관련 질의 배경]리액트가 통합된 프로젝트 실습이 todolist 정도인 것 같아서 블로그나 포토로그 등의 앞선 장고 프로젝트에 이를 응용하는게 어렵다고 느껴졌습니다. 혹시 리액트와 django 관계에 대해 조금 더 자세하게 참고할 만한 강의를 짚어주시거나 소스를 알려주실 수 있으실까요? [2번 관련 질의 배경]data-grid / data-table / spreadsheet (표 형태의 데이터를 읽고 수정하는 방식) 형태를 사용하고자 여러 파이썬/장고 라이브러리를 찾아봤으나 pool이 매우 좁고 예시도 매우 부족해 보였습니다. 그러나 react, js 중심으로 프론트 사이드를 구축할 경우 선택지가 매우 다양하고 상태 관리가 안정적일 수 있다는 생각이 들었습니다. (hansongrid, ag grid, MUI datagrid, react datagrid, react spreadsheet grid ...)그리드 어플리케이션 구축은 어떻게 진행하면 좋을까요? [3번 관련 질의 배경]디자인에 소요되는 리소스 측면에서도 장고의 템플릿 문법 보다는 리액트 프레임워크에 적합한 웹사이트 디자인도 더 풍부하고 다양한 것 같습니다. CSS에 상당히 부담을 느껴서 여기에 들이는 노를 줄이고 싶은데 혹시 참고할 만한 사이트나 추천해주시는 방법이 있으실까요? ********답변에 앞서 미리 감사드립니다!********
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
7.6 createReviewAction 서버 액션 컴포넌트에 state 값을 넘기는 것에 관한 질문입니다.
🚨 아래의 가이드라인을 꼭 읽고 질문을 올려주시기 바랍니다 🚨질문 하시기 전에 꼭 확인해주세요- 질문 전 구글에 먼저 검색해보세요 (답변을 기다리는 시간을 아낄 수 있습니다)- 코드에 오타가 없는지 면밀히 체크해보세요 (Date와 Data를 많이 헷갈리십니다)- 이전에 올린 질문에 달린 답변들에 꼭 반응해주세요 (질문에 대한 답변만 받으시고 쌩 가시면 속상해요 😢)질문 하실때 꼭 확인하세요- 제목만 보고도 무슨 문제가 있는지 대충 알 수 있도록 자세한 제목을 정해주세요 (단순 단어 X)- 질문의 배경정보를 제공해주세요 (이 문제가 언제 어떻게 발생했고 어디까지 시도해보셨는지)- 문제를 재현하도록 코드샌드박스나 깃허브 링크로 전달해주세요 (프로젝트 코드에서 문제가 발생할 경우)- 답변이 달렸다면 꼭 확인하고 반응을 남겨주세요- 강의의 몇 분 몇 초 관련 질문인지 알려주세요!- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 7.6 createReviewAction 서버 액션 컴포넌트에 state 값을 넘기는 것에 관한 질문입니다.강의 8분 35초 쯤에, state를 넘긴다고 하셨는데, 함수 내에서 사용하지 않는데 굳이 왜 넘기는 것인가요? 감사합니다.
-
미해결
node.js 설치는 했지만 npm 실행이 안 돼요 ㅠㅠ 도와주세요
node.js 깔고 파워쉘로는 버전이 저렇게 잘 나오는데, 터미널에서 버전 치면 npm에서 저렇게 배치 파일 아니라고 한 다음에 버전이 뜹니다 ㅠㅠ 또, create-react-app 명령어 실행이 가장 밑 사진처럼 뜨면서 계속 실행이 안 되는데 어떻게 해야 하나요 ㅠㅠ 이틀째 이러네요 ㅠㅠ .... node.js도 버전 5개 정도로 다르게 다 다운했다가 삭제해도 제대로 동작이 안 되네요 ... ㅠ.ㅠ jdk는 또 어디서 튀어나오는 건지 모르겠습니다 0 verbose cli C:\Program Files\nodejs\node.exe C:\Users\USER\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js 1 info using npm@11.0.0 2 info using node@v23.5.0 3 silly config load:file:C:\Users\USER\AppData\Roaming\npm\node_modules\npm\npmrc 4 silly config load:file:C:\Users\USER\Desktop\r\.npmrc 5 silly config load:file:C:\Users\USER\.npmrc 6 silly config load:file:C:\Users\USER\AppData\Roaming\npm\etc\npmrc 7 verbose title npm exec create-react-app my-app 8 verbose argv "exec" "--" "create-react-app" "my-app" 9 verbose logfile logs-max:10 dir:C:\Users\USER\AppData\Local\npm-cache\_logs\2024-12-30T11_35_42_456Z- 10 verbose logfile C:\Users\USER\AppData\Local\npm-cache\_logs\2024-12-30T11_35_42_456Z-debug-0.log 11 silly logfile start cleaning logs, removing 1 files 12 silly logfile done cleaning log files 13 verbose stack Error: spawn C:\Users\USER\Desktop\jdk-17.0.10+7 ENOENT 13 verbose stack at ChildProcess._handle.onexit (node:internal/child_process:286:19) 13 verbose stack at onErrorNT (node:internal/child_process:484:16) 13 verbose stack at process.processTicksAndRejections (node:internal/process/task_queues:90:21) 14 error code ENOENT 15 error syscall spawn C:\Users\USER\Desktop\jdk-17.0.10+7 16 error path C:\Users\USER\Desktop\r 17 error errno -4058 18 error enoent spawn C:\Users\USER\Desktop\jdk-17.0.10+7 ENOENT 19 error enoent This is related to npm not being able to find a file. 19 error enoent 20 verbose cwd C:\Users\USER\Desktop\r 21 verbose os Windows_NT 10.0.19045 22 verbose node v23.5.0 23 verbose npm v11.0.0 24 verbose exit -4058 25 verbose code -4058 26 error A complete log of this run can be found in: C:\Users\USER\AppData\Local\npm-cache\_logs\2024-12-30T11_35_42_456Z-debug-0.log 이후에 node.js를 18버전으로, bpm이 아닌 yarn과 함께 설치하는 것으로 다시 깔고 실행해도 여전히 정상 작동이 안 됩니다 ㅠㅠ 뭐가 문제죠 대체 ㅠㅠㅠㅠ
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
params의 type에서 string[]배열타입이 필요한 이유가 있을까요?
안녕하세요 강사님,혹시 한입 북스 UI 구현하기에서, params의 type을string[] 타입이 필요한 이유가 따로 있을까요?
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
7.3) 리뷰 조회 기능 구현하기 any type관련 질문입니다.
🚨 아래의 가이드라인을 꼭 읽고 질문을 올려주시기 바랍니다 🚨질문 하시기 전에 꼭 확인해주세요- 질문 전 구글에 먼저 검색해보세요 (답변을 기다리는 시간을 아낄 수 있습니다)- 코드에 오타가 없는지 면밀히 체크해보세요 (Date와 Data를 많이 헷갈리십니다)- 이전에 올린 질문에 달린 답변들에 꼭 반응해주세요 (질문에 대한 답변만 받으시고 쌩 가시면 속상해요 😢)질문 하실때 꼭 확인하세요- 제목만 보고도 무슨 문제가 있는지 대충 알 수 있도록 자세한 제목을 정해주세요 (단순 단어 X)- 질문의 배경정보를 제공해주세요 (이 문제가 언제 어떻게 발생했고 어디까지 시도해보셨는지)- 문제를 재현하도록 코드샌드박스나 깃허브 링크로 전달해주세요 (프로젝트 코드에서 문제가 발생할 경우)- 답변이 달렸다면 꼭 확인하고 반응을 남겨주세요- 강의의 몇 분 몇 초 관련 질문인지 알려주세요!- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 7.3) 리뷰 조회 기능 구현하기 any type관련 질문입니다.강의 4분 2초에, any type으로 추론해버리면 추후에 타입 오류가 발생할 가능성이 커진다고 하셨는데 혹시 왜 그런 것인지 구체적으로 알 수 있을까요? 감사합니다.
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
Type error: Type '{ params: { id: string | string[]; }; }' does not satisfy the constraint 'PageProps'. 오류 해결
npm run build 했을 때, 북 상세 페이지에서 오류 발생하시는 분들은 아래와 같이 수정해보시길 바랍니다.3.6)네비게이팅 진행 중, npm run build를 통해 빌드 시, 아래와 같이 타입 오류가 발생src/app/book/[id]/page.tsx Type error: Type '{ params: { id: string | string[]; }; }' does not satisfy the constraint 'PageProps'. Types of property 'params' are incompatible. Type '{ id: string | string[]; }' is missing the following properties from type 'Promise<any>': then, catch, finally, [Symbol.toStringTag]이유: nextjs 최신 버전에서 params가 promise 형태로 바뀌게 되면서 타입 오류가 발생하는 것으로 추정아래와 같이 타입을 정의import ClientComponent from "@/app/components/ClientComponent"; type PageParams = Promise<{ id: string }>; const Page = async ({ params }: { params: PageParams }) => { const { id } = await params; return ( <div> Page {id} <ClientComponent> <></> </ClientComponent> </div> ); }; export default Page;
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
npm run build 시 에러가 발생합니다.
npm run dev로 실행 시 정상 실행되고있고npm run build 시 아래와 같이 에러가 발생하고있습니다.제 소스코드는 아래에서 확인가능합니다https://github.com/redinbluesky/section02 =========npm run build 시 에러 메시지======== D:\01_Study\01_REACT\02_ONE_BITE_NEXT_JS\02_VsCode_WorkSpace\section02>npm run build> section02@0.1.0 build> next build ▲ Next.js 14.2.18./src/components/book-item.tsx....................................................... ✓ Linting and checking validity of types Creating an optimized production build ... ✓ Compiled successfully ✓ Collecting page data Generating static pages (0/7) [ ]인덱스 페이지 Generating static pages (2/7) [= ]Error: Minified React error #31; visit https://reactjs.org/docs/error-decoder.html?invariant=31&args[]=%5Bobject%20Promise%5D for the full message or use the non-minified dev environment for full errors and additional helpful warnings. at Z (D:\01_Study\01_REACT\02_ONE_BITE_NEXT_JS\02_VsCode_WorkSpace\section02\node_modules\react-dom\cjs\react-dom-server.browser.production.min.js:76:490) ........................................................Error occurred prerendering page "/lib/fetch-bo.............................Error occurred prerendering page "/lib/fetch-rendom-books". Read more: https://nextjs.org/docs/messages/prerender-error.......................................Error occurred prerendering page "/lib/fetch-one-book". Read more: https://nextjs.org/docs/messages/prerender-error.......................................... ✓ Generating static pages (7/7)> Export encountered errors on following paths: /lib/fetch-books /lib/fetch-one-book /lib/fetch-rendom-books
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
서버 컴포넌트 실행 시, 브라우저에서도 콘솔을 확인할 수 있도록 변경된 것 같아요!
next.js 15.1.3 (24.12.30) 기준으로 서버 컴포넌트 실행 시, 아래와 같이 브라우저에서도 콘솔을 확인할 수 있도록 변경된 것 같아요!단 서버 측에서만 실행되기 때문에 앞에 Server 라벨이 붙어서 나오는 것 같습니다!
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
2.2 단락평가 11:28
printName(); 이렇게 매개변수 값을 안줬을때name 값에 undefine이 들어가는거까지는 이해했습니다.여기 콘솔로그에서 "person의 값이 없음" 이 뜨는이유를 모르겠어요 ,, name || "person의 값이 없음" 이라면 name은 이미 언디파인이기때문에 그다음 문장이 출력되는걸까요? 그리고 그 다음 printName({name:"정환"}) 여기서 이름이 출력되는 이유도 헷깔려요 ,, const name = person && person.name; 객체와 객체의 프로퍼티 값 중 왜 프로퍼티 값이 출력되는걸까요? { console.log(name || "person의 값이 없음"); } printName(); // "person의 값이 없음" // undefine 값이 갈때는 name 에 언디파인 값이 가고 콘솔로그에서 undefine || truthy 기때문에 truthy 값이 출력된다
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
일기 관리 기능 구현하기2 부분에 대해 질문이 있습니다.
case "DELETE" 이 삭제 부분에서도 String으로 item.id와 action.id를 넣어 줬는데 수정에서는 사용자가 숫자나 문자로 사용하기 때문에 String을 사용해 줬다라고 이해하는데 삭제 부분에서는 id 하나를 찾아서 삭제버튼만 클릭하면 삭제가 되는데 이 부분은 왜 String을 사용한것인지 궁금합니다.
-
해결됨Next + React Query로 SNS 서비스 만들기
next-auth 로그인/회원가입 에러(middleware)
강사님 안녕하세요, 로그인/회원가입 시 middleware export 되지않는 이슈로 질문남깁니다..!터미널에서 middleware가 export가 되지않는다고 뜨는데 import하는 방식이 잘못된건지 여쭙니다.// middleware.ts import { auth as middleware } from "./auth" export const config = { matcher: ['/compose/tweet', '/home', '/explore', '/messages', '/search'], }//auth.ts import NextAuth, {CredentialsSignin} from "next-auth" import CredentialsProvider from "next-auth/providers/credentials"; export const { handlers: { GET, POST }, auth, signIn, } = NextAuth({ pages: { signIn: "/i/flow/login", newUser: "/i/flow/signup", }, providers: [ CredentialsProvider({ async authorize(credentials) { const authResponse = await fetch(`${process.env.NEXT_PUBLIC_BASE_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 { email: user.id, name: user.nickname, image: user.image, ...user, }; }, }), ] });// package.json { "name": "x-com", "version": "0.1.0", "private": true, "scripts": { "dev": "next dev", "build": "next build", "start": "next start", "lint": "next lint" }, "dependencies": { "@auth/core": "^0.27.0", "@vanilla-extract/css": "^1.16.1", "@vanilla-extract/recipes": "^0.5.5", "@vanilla-extract/sprinkles": "^1.6.3", "classnames": "^2.5.1", "clsx": "^2.1.1", "dayjs": "^1.11.13", "next": "^15.0.4", "next-auth": "^5.0.0-beta.25", "react": "^19.0.0", "react-dom": "^19.0.0", "react-textarea-autosize": "^8.5.6", }, "devDependencies": { "@faker-js/faker": "^9.3.0", "@types/node": "^20", "@types/react": "^19", "@types/react-dom": "^19", "@vanilla-extract/next-plugin": "^2.4.7", "@vanilla-extract/webpack-plugin": "^2.3.15", "msw": "^2.6.8", "typescript": "^5" }, "msw": { "workerDirectory": [ "public" ] } } <터미널 오류내용> ⨯ Error: The Middleware "/src/middleware" must export a `middleware` or a `default` function at <unknown> (webpack-internal:\(middleware)\node_modules\next\dist\build\webpack\loaders\next-middleware-loader.js:12) at eval (webpack-internal:\(middleware)\node_modules\next\dist\build\webpack\loaders\next-middleware-loader.js?absolutePagePath=C%3A%5CUsers%5Calsdu%5CDocuments%5CGitHub%5Canimals_forest%5Csrc%5Cmiddleware.ts&page=%2Fsrc%2Fmiddleware&rootDir=C%3A%5CUsers%5Calsdu%5CDocuments%5CGitHub%5Canimals_forest&matchers=&preferredRegion=&middlewareConfig=e30%3D!:12:0) at (middleware)/./node_modules/next/dist/build/webpack/loaders/next-middleware-loader.js?absolutePagePath=C%3A%5CUsers%5Calsdu%5CDocuments%5CGitHub%5Canimals_forest%5Csrc%5Cmiddleware.ts&page=%2Fsrc%2Fmiddleware&rootDir=C%3A%5CUsers%5Calsdu%5CDocuments%5CGitHub%5Canimals_forest&matchers=&preferredRegion=&middlewareConfig=e30%3D! (.next\server\src\middleware.js:642:1) at __webpack_require__ (.next\server\edge-runtime-webpack.js:37:33) at __webpack_exec__ (.next\server\src\middleware.js:681:48) at <unknown> (.next\server\src\middleware.js:682:37) at webpackJsonpCallback (.next\server\edge-runtime-webpack.js:1219:39) at <unknown> (.next\server\src\middleware.js:9:61) at evaluateInContext (node_modules\next\dist\server\web\sandbox\context.js:420:38) GET /home 404 in 4ms Failed to get source map: Error: Failed to read file contents of C:\Users\alsdu\Documents\GitHub\animals_forest\webpack-internal:\(middleware)\node_modules\next\dist\build\webpack\loaders\next-middleware-loader.js. at getSourceMapFromFile (node_modules\next\src\client\components\react-dev-overlay\internal\helpers\get-source-map-from-file.ts:20:10) at async getSource (node_modules\next\src\client\components\react-dev-overlay\server\middleware.ts:228:22) at async (node_modules\next\src\client\components\react-dev-overlay\server\middleware.ts:319:17) at async HotReloaderWebpack.run (node_modules\next\src\server\dev\hot-reloader-webpack.ts:392:6) at async handleRequest (node_modules\next\src\server\lib\router-server.ts:319:34) at async requestHandlerImpl (node_modules\next\src\server\lib\router-server.ts:576:6) at async Server.requestListener (node_modules\next\src\server\lib\start-server.ts:146:6) { [cause]: Error: ENOENT: no such file or directory, open 'C:\Users\alsdu\Documents\GitHub\animals_forest\webpack-internal:\(middleware)\node_modules\next\dist\build\webpack\loaders\next-middleware-loader.js' at async getSourceMapFromFile (node_modules\next\src\client\components\react-dev-overlay\internal\helpers\get-source-map-from-file.ts:18:19) at async getSource (node_modules\next\src\client\components\react-dev-overlay\server\middleware.ts:228:22) at async (node_modules\next\src\client\components\react-dev-overlay\server\middleware.ts:319:17) at async HotReloaderWebpack.run (node_modules\next\src\server\dev\hot-reloader-webpack.ts:392:6) at async handleRequest (node_modules\next\src\server\lib\router-server.ts:319:34) at async requestHandlerImpl (node_modules\next\src\server\lib\router-s at async handleRequest (node_modules\next\src\server\lib\router-server.ts:319:34) at async requestHandlerImpl (node_modules\next\src\server\lib\router-server.ts:576:6) at async Server.requestListener (node_modules\next\src\server\lib\start-server.ts:146:6) { [cause]: Error: ENOENT: no such file or directory, open 'C:\Users\alsdu\Documents\GitHub\animals_forest\webpack-internal:\(middleware)\node_modules\next\dist\build\webpack\loaders\next-middleware-loader.js' at async getSourceMapFromFile (node_modules\next\src\client\components\react-dev-overlay\internal\helpers\get-source-map-from-file.ts:18:19) at async getSource (node_modules\next\src\client\components\react-dev-overlay\server\middleware.ts:228:22) at async (node_modules\next\src\client\components\react-dev-overlay\server\middleware.ts:319:17) at async HotReloaderWebpack.run (node_modules\next\src\server\dev\hot-reloader-webpack.ts:392:6) at async handleRequest (node_modules\next\src\server\lib\router-server.ts:319:34) at async requestHandlerImpl (node_modules\next\src\server\lib\router-sserver.ts:146:6) { [cause]: Error: ENOENT: no such file or directory, open 'C:\Users\alsdu\Documents\GitHub\animals_forest\webpack-internal:\(middleware)\node_modules\next\dist\build\webpack\loaders\next-middleware-loader.js' at async getSourceMapFromFile (node_modules\next\src\client\components\react-dev-overlay\internal\helpers\get-source-map-from-file.ts:18:19) at async getSource (node_modules\next\src\client\components\react-dev-overlay\server\middleware.ts:228:22) at async (node_modules\next\src\client\components\react-dev-overlay\server\middleware.ts:319:17) at async HotReloaderWebpack.run (node_modules\next\src\server\dev\hot-reloader-webpack.ts:392:6) at async handleRequest (node_modules\next\src\server\lib\router-server.ts:319:34) at async requestHandlerImpl (node_modules\next\src\server\lib\router-soverlay\server\middleware.ts:228:22) at async (node_modules\next\src\client\components\react-dev-overlay\server\middleware.ts:319:17) at async HotReloaderWebpack.run (node_modules\next\src\server\dev\hot-reloader-webpack.ts:392:6) at async handleRequest (node_modules\next\src\server\lib\router-server.ts:319:34) at async requestHandlerImpl (node_modules\next\src\server\lib\router-sreloader-webpack.ts:392:6) at async handleRequest (node_modules\next\src\server\lib\router-server.ts:319:34) at async requestHandlerImpl (node_modules\next\src\server\lib\router-s.ts:319:34) at async requestHandlerImpl (node_modules\next\src\server\lib\router-server.ts:576:6) at async Server.requestListener (node_modules\next\src\server\lib\start-server.ts:146:6) { errno: -4058, code: 'ENOENT', syscall: 'open', path: 'C:\\Users\\alss\\Documents\\GitHub\\x-com\\webpack-internal:\\(middleware)\\node_modules\\next\\dist\\build\\webpack\\loaders\\next-middleware-loader.js' } }
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
domains는 deprecated 되었습니다.
next configuration에서images.domains는 deprecated 되었음으로 remotePatterns를 사용하시길 권장드립니다. images : { remotePatterns: [ { protocol: 'https', hostname: 'shopping-phinf.pstatic.net', pathname: '**', } ] }https://nextjs.org/docs/app/api-reference/components/image#remotepatterns
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
코드에 대해 질문이 있습니다.
현재 강의를 너무 잘 듣고 있는 수강생입니다. 강의에 대한 내용은 아니지만 여쭤보고 싶은게 있어 질문을 드립니다.감정일기 만드는 부분을 따라하면서 코드도 어느정도 이해는 하고 있지만 만약 혼자 이러한걸 만든다고 했을 때 예를 들어 Home 페이지 부분에서 해당 날짜에 작성된 리스트가 나오게 할려고 하면 getMonthlyData함수에 작성된 코드처럼 저렇게 생각도 하지 못할것같고 또 pivotData, data를 이용해야되니 매개변수를 넣으면 되겠다... 하는 이러한 생각도 하지 못할것같은데 어떤 식으로 공부를 하면 감정일기장 뿐만 아닌 다른것도 혼자서 코드를 작성할 수 있고 또 활용도 할 수 있을지 궁금합니다.
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
Page Route와 App Route의 빌드 질문
안녕하세요. 강사님 좋은 강의 감사드립니다. 빌드 기호에 관해 질문있습니다.영상 19:05초에App Router의 Static은 Page Router의 SSG와 같다고 하셨는데요.Page Router의 기호 App Router의 기호보시는 바와 같이 Page Router의 Static과 App Router의 Static 문구가 같습니다. (prerendered as static content) 궁금한것은 1App Router의 Static이 Page Router의 SSG와 같다면왜 App Router Static 설명이 Page Router SSG인 (prerendered as static HTML) 설명이 아닌 Page Router의 Static과 동일한걸까요? (prerendered as static content)즉 App Router의 (Static): prerendered as static HTML이어야 맞는 거 아닌가요? (Static) prerendered as static content왜 인 걸까요? 헷갈리네요 ㅜㅜ2.기존 Page Route의 Static은 어떤 식으로 동작한 건가요? 그냥 정적인 페이지인건가요?감사합니다!
-
해결됨[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스
강의자료가 안뜹니다
강의 자료가 있는 항목을 누르면이렇게 아무것도 뜨지 않습니다 ㅜ
-
미해결한 입 크기로 잘라먹는 Next.js(v15)
혹시 단톡방 입장은 이제 안되나요?
제가 예전에 단톡방 관련 공지를 본거같은데강의 3개를 다 들어서 어떤강의에있는 공지였는지 못찾겠네요..입장 방법이나 조건이 따로있을까요??
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
포트폴리오 리뷰 강의에 대한 질문
섹션23인 검색 기능 구현 파트 이후로는 포트폴리오 강의가 제공되지 않고 있는데, 이 후의 중고마켓 웹사이트에 대한 포트폴리오 리뷰 강의는 제공되지 않고, 스스로 하되, 포트폴리오 리뷰 자료를 참고하면 되는 건가요?
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
Onclick에 화살표 함수가 아닌 함수를 만들어서 작성하는 이유에 대해서 궁금합니다.
안녕하세요. 강의 잘 듣고 있습니다.강의를 듣다가 의문이 생겨 질문드립니다.아래 두 코드는 모두 정상적으로 작동합니다.그럼에도 불구하고, 두 번째 코드를 사용하는 이유는 혹시 나중에 onDelete 기능에 새로운 로직이 추가될 가능성에 대비하기 위해서인가요? 만약 이 기능이 Props로 전달받은 기능만을 사용한다면, 첫 번째 코드로 작성해도 괜찮은지 궁금하여 질문드립니다.<button onClick={() => {onDelete(id)} }>삭제</button>const onClickDeleteButton = () => { onDelete(id); } return ( //생략 <button onClick={onClickDeleteButton}>삭제</button> );
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
세션 4까지 들었는데, 여기서 DRF로 넘어가도 될까요?
제가 API Server 구축에 더 관심이 가서... 세션 4까지 복습했는데, 바로 DRF로 넘어가도 될까요?
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
일기 관리 기능 구현하기2 강의 질문있습니다.
현재 일기 관리 기능 구현하기2 부분의 강의를 보고 있는데 강의에서 const DiaryStateContext = createContext(); const DiaryDispatchContext = createContext();이렇게 createContext를 두번 작성이 되었고 또 DiaryStateContext는 value로 data를 DiaryDispatchContext는 value로 onCreate, onUpdate, onDelete 이렇게 각각 보내는데 왜 이렇게 두번작성을 하는 것인지 그리고 그냥 DiaryStateContext 이 부분에 value로 data와 onCreate, onUpdate, onDelete 이걸 같이 보내면 안되는건가요?