inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

타입에러가 계속생기는데

해결됨

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

타입 포함된 버전을 설치한 후에도 타입에러가 계속 생기는데 버전이슈일까요.. "dependencies": { "@ant-design/icons": "^5.5.2", "@apollo/client": "^3.11.9", "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", "antd": "^5.21.6", "axios": "^1.7.7", "graphql": "^16.9.0", "lodash": "^4.17.21", "next": "12.1.0", "react": "17.0.2", "react-daum-postcode": "^3.2.0", "react-dom": "17.0.2", "react-infinite-scroller": "^1.2.6", "ts-node": "^10.9.2" }, "devDependencies": { "@eslint/js": "^9.18.0", "@graphql-codegen/cli": "^5.0.3", "@graphql-codegen/typescript": "^4.1.2", "@types/node": "17.0.2", "@types/react": "17.0.2", "@types/react-infinite-scroller": "^1.2.5", "eslint": "^9.18.0", "eslint-config-next": "15.1.4", "eslint-config-prettier": "^10.0.1", "eslint-plugin-prettier": "^5.2.1", "eslint-plugin-react": "^7.37.4", "globals": "^15.14.0", "prettier": "^3.4.2", "typescript": "^5.7.3", "typescript-eslint": "^8.20.0" "react-infinite-scroller": "^1.2.6", 이고 "@types/react-infinite-scroller": "^1.2.5", 로 되어있습니다. ++ return ( <div style={{ height: '700px', overflow: 'auto' }}> <InfiniteScroll pageStart={0} loadMore={onLoadMore} hasMore={hasMorePosts} loader={ <div className='loader' key='loader'> Loading... </div> } useWindow={false} > {data?.fetchBoards?.map((el) => el ? ( <div key={el._id}> <span style={{ margin: '10px' }}>{el.title}</span> <span style={{ margin: '10px' }}>{el.writer}</span> </div> ) : null, ) ?? []} </InfiniteScroll> </div> ); 1. InfiniteScroll 'InfiniteScroll' cannot be used as a JSX component. Its instance type 'InfiniteScroll' is not a valid JSX element. Property 'refs' is missing in type 'InfiniteScroll' but required in type 'ElementClass' 3. loader Type 'Element' is not assignable to type ReactElement<unknown, string | JSXElementConstructor<any>> Types of property 'key' are incompatible. TYpe 'Key | null' is not assignable to type 'string | null'. Type 'number' is not assignable to type 'string'. 4. {data?.~</div>;})} Type 'void[] | undefined' is not assignable to type 'ReactNode'. 2. {data?.~</div>;})} Type 'void[] | undefined' is not assignable to type 'ReactNode'. (이하 생략) 이런 에러였었는데, 상단에 타입선언 해주고 모두 해결 되었습니다. import React, { ReactElement } from 'react'; declare module 'react-infinite-scroller' { interface InfiniteScrollProps { pageStart?: number; loadMore: () => void; hasMore?: boolean; loader?: ReactElement | null; useWindow?: boolean; children?: React.ReactNode; } export default function InfiniteScroll(props: InfiniteScrollProps): ReactElement; } 모듈이 덜 설치된건지 ㅠㅠ 왜 이런 에러가 생긴지 모르겠네요 ㅠㅠ

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

강의 관련 질문드립니다.

해결됨

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

24년 12월에 결제하여 수강 중입니다 올해 [코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스 강의가 오픈 된 것을 보았는데, 강의 간 내용에 많은 차이 점이 있을까요? 신규 강의를 수강하려면 재결제 하는 방법밖에 없을까요..?

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

동적페이지 로드밸런서 연결

해결됨

[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스

AWS HTTPS 적용하는 부분에서 과정대로 2번 따라했는데 똑같이 해당 에러가 나서 https로 접속이 안 되네요 ㅜㅜ 이유가 먼지 알 수 있을까요?!

  • react
  • react-native
  • 하이브리드-앱
  • graphql
  • next.js
최성빈 댓글 2 좋아요 0 조회수 131

새 강의 쿠폰 관련 문의드립니다

해결됨

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

안녕하세요! 비슷한 유형의 질문글을 보고 늦었지만 문의드리게 되었습니다. 공지를 늦게 확인하여 쿠폰을 받지 못했는데 혹시 지금이라도 발급이 가능할까요?

  • react
  • node.js
  • seo
  • graphql
  • next.js
박혜원 댓글 2 좋아요 0 조회수 96

EsLint flat config format 으로 만들어질 때 참고

해결됨

Next.js 시작하기

import { dirname } from "path"; import { fileURLToPath } from "url"; import { FlatCompat } from "@eslint/eslintrc"; import prettierPlugin from "eslint-plugin-prettier"; const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename); const compat = new FlatCompat({ baseDirectory: __dirname, }); const eslintConfig = [ ...compat.extends("next/core-web-vitals"), ...compat.extends("plugin:prettier/recommended"), { files: ["**/*.js", "**/*.jsx"], plugins: { prettier: prettierPlugin, }, rules: { "no-undef": "error", "prettier/prettier": [ "error", { singleQuote: true, semi: true, tabWidth: 2, trailingComma: "all", printWidth: 80, bracketSpacing: true, arrowParens: "avoid", }, ], }, }, ]; export default eslintConfig;

  • javascript
  • react
  • next.js
  • eslint
  • prettier
Dongmin Kim 댓글 1 좋아요 0 조회수 359

book/[id] 과 같은 동적경로에 대응하는 페이지가 어떻게 풀라우트캐시가 동작할 수 있죠?

해결됨

한 입 크기로 잘라먹는 Next.js

선생님 강의 5-3) 9분 10초를 보다가 궁금한 것이 있습니다~ generateStaticParams으로 지정했던 id값이 아닌 4번페이지에 접속했을 때 해당 페이지가 실시간으로 다이나믹하게 페이지가 생성되고 풀라우트캐시에 저장된다고 하셨는데요 풀라우트캐시는 static페이지에서만 동작한다고 알고 있고, [id]컴포넌트에서 fetch함수에 캐싱 옵션으로 'force-cache'을 설정한 것도 아닌데 어떻게 풀라우트 캐시가 동작할 수 있나요??

  • react
  • typescript
  • next.js
오윤석 댓글 3 좋아요 1 조회수 352

질문

미해결

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

쌤 하트나 리포스트를 누를 때 마다 가끔씩 TypeError: data.pages.map is not a function 이런 에러 PostRecommend 섹션에 뜨는데 이런 경우가 종종 발생할까요 ?

  • react
  • next.js
  • react-query
  • next-auth
  • msw
심현석 댓글 3 좋아요 0 조회수 163

재게시 관련 궁금한 사항

미해결

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

재게시를 클릭하면 Reposts 부분과 count부분을 수정하고 unShift함수를 사용해서 pages[0]에 글정보를 추가하게 되는데 재게시를 클릭할 때 마다 pages[0]에 {user:{},Original:{}} 부분이 계속 추가되는게 맞나요 ? 인피니트쿼리는 한 페이지당 최대 10개의 객체를 받아오는 것으로 알고있는데 인피니트 쿼리랑은 상관 없는건가요 ?

  • react
  • next.js
  • react-query
  • next-auth
  • msw
심현석 댓글 4 좋아요 0 조회수 169

npm run dev 무한 로딩 관련 질문입니다.

미해결

한 입 크기로 잘라먹는 Next.js

안녕하세요 강사님 강사님의 내용을 주석으로 남기고 싶어서 내용을 작성하고 저장하여 실행하면 페이지 상태가 무한로딩을 합니다. 이전 시간에 test.tsx 파일을 만들고 _app.tsx 파일에서 header 태그를 생성하는 시간에도 이와 비슷하게 주석을 사용하여 기록하고 저장하여 프로젝트를 실행하면 똑같이 무한로딩을 하게 됩니다. 저와 비슷한 사례가 많이 없어 chatGPT에 질문하여 얻은 답변으로는 node 버전과 관련이 있다고 하여 현재 버전 v20.18.1에서 v18으로 낮추기도 했지만 달라지지 않아 다시 원래 버전으로 돌려 놓은 상태 입니다. 이번이 두번째로 주석만 사용하면 이렇게 나타나는 현상인지 아니면 다른 설정이 필요한 것인지 잘 모르겠습니다.

  • react
  • typescript
  • next.js
오재환 댓글 2 좋아요 0 조회수 640

app/api/auth/[...nextauth].ts 는 next-auth를 사용하려면 무조건 저 경로여야할까요??

미해결

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

안녕하세요! 강의 잘 듣고 있습니다! 다름이 아니라, 수강 중 여쭤볼게 있어 질문 드립니다..! 5:44초쯤에 app/api/auth/[...nextauth].ts 의 이 경로 폴더명들은 next-auth를 사용하려면 무조건 저 경로여야할까요? 예를들어, app/api/login/[...nextauth].ts 등 다른 경로는 불가능한가요? 꼭 /api/auth/[...nextauth]의 경로를 바라보도록 설계해야 하는지 궁금합니다!

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

서버액션 오류

해결됨

한 입 크기로 잘라먹는 Next.js

서버액션 파트에서 create-review.action 서버액션을 별도 파일로 만들었습니다. 아래 코드를 보면 딜레이가 2초 있습니다. 리뷰를 생성할 때만 딜레이를 걸어놨는데 삭제할때도 2초가 걸리는데 왜그런걸까요? "use server"; import { delay } from "@/util/delay"; import { revalidatePath, revalidateTag } from "next/cache"; export async function createReviewAction(_: any, formData: FormData) { const bookId = formData.get("bookId")?.toString(); const content = formData.get("content")?.toString(); //string타입으로 바꾸는 것 const author = formData.get("author")?.toString(); if (!content || !author || !bookId) { //서버에서도 예외 방지 return { state: false, error: "리뷰 내용과 작성자를 입력해주세요", }; } try { await delay(2000); const response = await fetch( `${process.env.NEXT_PUBLIC_API_SERVER_URL}/review`, { method: "POST", headers: { "Content-Type": "application/json", // JSON 데이터임을 명시 }, body: JSON.stringify({ bookId, content, author }), } ); if (!response.ok) { //실패했다면 throw new Error(response.statusText); } // 5. 태그 기준, 데이터 캐시 재검증 -> 데이터 패칭에 특정 태그를 설정한 패칭만 재검증 revalidateTag(`review-${bookId}`); //book 페이지에 ReviewList 데이터 패칭 재검증 return { state: true, error: "", }; } catch (e) { return { state: false, error: `리뷰 저장에 실패했습니다. ${e}`, }; } }

  • react
  • typescript
  • next.js
Full Stack 개발자 댓글 1 좋아요 0 조회수 118

모달창 오류

해결됨

한 입 크기로 잘라먹는 Next.js

북 상세페이지에서 모달창이 제대로 작동하지만 다음과 같은 오류가 발생합니다. 왜그런걸까요? Skipping auto-scroll behavior due to position: sticky or position: fixed on element: <dialog class=​"modal_modal__ocKFE" open>​…​</dialog>​scroll Error Component Stack at InnerScrollAndFocusHandler (layout-router.js:139:9) at ScrollAndFocusHandler (layout-router.js:216:11) at RenderFromTemplateContext (render-from-template-context.js:16:44) at OuterLayoutRouter (layout-router.js:365:11) at body (<anonymous>) at html (<anonymous>) at RootLayout [Server] (<anonymous>) at HTTPAccessFallbackErrorBoundary (error-boundary.js:90:9) at HTTPAccessFallbackBoundary (error-boundary.js:98:11) at RedirectErrorBoundary (redirect-boundary.js:75:9) at RedirectBoundary (redirect-boundary.js:83:11) at HTTPAccessFallbackErrorBoundary (error-boundary.js:90:9) at HTTPAccessFallbackBoundary (error-boundary.js:98:11) at DevRootHTTPAccessFallbackBoundary (dev-root-http-access-fallback-boundary.js:33:11) at ReactDevOverlay (ReactDevOverlay.js:80:9) at HotReload (hot-reloader-client.js:379:11) at Router (app-router.js:183:11) at ErrorBoundaryHandler (error-boundary.js:120:9) at ErrorBoundary (error-boundary.js:166:11) at AppRouter (app-router.js:563:11) at ServerRoot (app-index.js:145:46) at Root (app-index.js:165:11)

  • react
  • typescript
  • next.js
Full Stack 개발자 댓글 1 좋아요 0 조회수 129

병렬라우트

해결됨

한 입 크기로 잘라먹는 Next.js

패럴렐 & 인터셉터 라우트 강의를 듣는 중입니다. "/" 경로 였다가 "/book/1" 과 같이 상세페이지 경로로 들어가게 되면 아래 캡쳐와 같이 RootLayout 컴포넌트에 인자값으로 children에는 기존에 인덱스 페이지가 들어가고 modal 인자값으로는 인터셉터된 book 페이지의 값이 들어갈 것입니다. 그런데 이 상태에서 새로고침을 하게 되면 초기에는 인터셉터가 작동하지 않으므로 일반 book 페이지가 children에 들어갈것이고 modal 인자값에는 인터셉터가 작동하지 않는데 어떠한 값이 들어가나요? 인터셉터에 default 페이지가 들어가나요?

  • react
  • typescript
  • next.js
Full Stack 개발자 댓글 1 좋아요 0 조회수 117

인터셉터 오류

해결됨

한 입 크기로 잘라먹는 Next.js

book 페이지의 인터셉터 페이지를 만드는 과정이다. 기존 book 페이지에서 인자값을 받고 있기 때문에 인터셉터 페이지에서도 인자값을 받기 위해서 props로 받았지만 인터셉터 페이지가 정상적으로 작동하지 않는다. import BookPage from "@/app/book/[id]/page" export default function Page(props: any) { //기존에 book 페이지에서 받고 있던 프롭스를 그대로 가져와야 해서 any타입으로 받는 것 return ( <div> 가로채기 성공 <BookPage {...props}/> </div>) } book 페이지의 인자 값은 다음과 같다. export default async function Page({ params, }: { params: Promise<{ id: string }>; }) { const resolvedParams = await params; const id = resolvedParams.id; return ( <div className={style.container}> <BookDetail bookId={id} /> <ReviewEditor bookId={id} /> <ReviewList bookId={id} /> </div> ); } 인터셉터 페이지에서 인자값을 props: any가 아니라 다르게 설정해야 하나요?

  • react
  • typescript
  • next.js
Full Stack 개발자 댓글 2 좋아요 0 조회수 110

인터셉터 오류

해결됨

한 입 크기로 잘라먹는 Next.js

book 페이지의 인터셉터 페이지를 만드는 과정이다. 기존 book 페이지에서 인자값을 받고 있기 때문에 인터셉터 페이지에서도 인자값을 받기 위해서 props로 받았지만 인터셉터 페이지가 정상적으로 작동하지 않는다.

  • react
  • typescript
  • next.js
Full Stack 개발자 댓글 2 좋아요 0 조회수 101

vercel 배포시 빌드 오류

미해결

한 입 크기로 잘라먹는 Next.js

vercel에 배포하려고 빌드할때 에러 문의입니다. 에러 로그는 아래와 같습니다. Export encountered an error on /book/[id]/page: /book/2, exiting the build. ⨯ Static worker exited with code: 1 and signal: null Error: Command "npm run build" exited with 1 /book/[id]/page.tsx 파일에서 사진과같이 generateStaticParams() 함수를 주석치면 빌드가 잘 되더라구요 어떤이유인지 알 수 있을까요 ?

  • react
  • typescript
  • next.js
  • vercel
스터디다오패스 댓글 2 좋아요 0 조회수 479

loading이 동작하지 않습니다.

해결됨

Next.js App router 기반 Chat GPT 만들기

https://github.com/JeanYoungPark/next-chat-gpt loading 부분 코드 작성중인데 loading 컴포넌트가 따로 로드되지 않는 것 같습니다. 원인을 알 수 있을까요?

  • react
  • typescript
  • next.js
  • tailwindcss
  • zustand
  • chatgpt
박진영 댓글 2 좋아요 0 조회수 247

params 질문

미해결

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

[username] 슬러그 / 즉 유저 프로필 페이지에서 params값을 받아서 유저정보를 불러오는데 params의 값을 출력해보니 값이 나오긴하는데 인코딩된 값이 나옵니다 ㅠㅠ encodeURIComponent 함수를 사용한 적이 없는데 왜 이렇게 나오는지 궁금합니다

  • react
  • next.js
  • react-query
  • next-auth
  • msw
심현석 댓글 5 좋아요 0 조회수 203

async 제거(영상내용) 후 searchParams 오류

해결됨

한 입 크기로 잘라먹는 Next.js

안녕하세요 강사님. 해당 강의 8:31 초 내용을 저장했을때 아래와 같은 오류가 나왔습니다. 언뜻 봤을 때는 await를 적용하지 않아서 라는 것으로 해석이 되는데, 영상 초반에 비동기 컴포넌트를 따로 빼내어 사용하기로 하여 async를 제거하였는데 아래와 같은 오류가 나오지만 화면은 의도된 바와 같이 동작을 합니다. 강의 영상 및 자료와 동일하게 진행하였습니다 강사님의 강의자료에서 코드를 복사하여 BookListSkeleton만 제거 수정을 하여 테스트 시 위와 같은 오류가 동일하게 발생합니다. https://github.com/winterlood/onebite-next/blob/main/section06/chapter05/src/app/(with-searchbar)/search/page.tsx 영상에서는 저와 같은 오류가 발생하지 않는 것 같은데, 이런 오류가 발생하면 빌드가 안되는데... 확인 부탁드립니다.

  • react
  • typescript
  • next.js
김은미 댓글 3 좋아요 0 조회수 586

revalidatePath 오류

미해결

한 입 크기로 잘라먹는 Next.js

강의 처럼 revalidatePath(`book/${bookId}`)를 해서 리뷰를 작성하고 작성하기 버튼을 눌러서 페이지를 재검증하는 상황 revalidatePath는 퍼지를 통해서 캐시가 모두 삭제되는 것이 이해함 빌드 후, 프로젝트 모드로 실행 리뷰를 작성하고 리뷰를 누르는 상황 작성한게 보이긴 하지만 두번째꺼가 ㅋㅋㅇㄹㅋ 였는데 아래와 같이 바뀝니다. 또한 새로고침을 누르면 다시 원상태로 돌아갑니다. 아래와 같이 새로고침을 누르면 퍼지 후에 book/1 페이지는 다이나믹으로 작동해야되는데 하지 않는 것으로 파악됩니다. prisma studio를 확인해보면 데이터는 들어갔습니다. 그런데 npm run dev로 하면 잘 됩니다... 왜 그런 걸까요??

  • react
  • typescript
  • next.js
댓글 4 좋아요 0 조회수 183

인기 태그

인프런 TOP Writers

주간 인기글