app.tsx 질문입니다
// import "../styles/globals.css";
import { ApolloClient, InMemoryCache, ApolloProvider } from "@apollo/client";
import type { AppProps } from "next/app";
export default function App({ Component }: AppProps): JSX.Element {
const client = new ApolloClient({
uri: "http://backend-example.codebootcamp.co.kr/graphql",
cache: new InMemoryCache(), //컴퓨터의 메모리에다가 백엔드에서 받아온 데이터 임시로 저장해 놓기 => 나중에 더 자세히 알아보기
});
//graphql 셋팅
return (
<div>
<div>
============여기는 APP.js 컴포넌트 시작부분 입니다==============
</div>
<ApolloProvider client={client}>
<Component />
</ApolloProvider>
<div>============여기는 APP.js입니다==============</div>
</div>
);
}코드이고 Component에 빨간줄이 그어져서 마우스를 올려보니
'Component'은(는) JSX 구성 요소로 사용할 수 없습니다.
Its type 'NextComponentType<NextPageContext, any, {}>' is not a valid JSX element type.
'ComponentClass<{}, any> & { getInitialProps?(context: NextPageContext): any; }' 형식은 'ElementType' 형식에 할당할 수 없습니다.
'ComponentClass<{}, any> & { getInitialProps?(context: NextPageContext): any; }' 형식은 'new (props: any) => Component<any, any, any>' 형식에 할당할 수 없습니다.
구문 시그니처 반환 형식 'Component<{}, any, any>' 및 'Component<any, any, any>'이(가) 호환되지 않습니다.
'render()'에서 반환되는 형식은 해당 형식 간에 호환되지 않습니다.
'React.ReactNode' 형식은 'import("c:/Users/82109/OneDrive/\uBC14\uD0D5 \uD654\uBA74/codecamp-frontend-mentee/class/node_modules/@types/react-transition-group/node_modules/@types/react/index").ReactNode' 형식에 할당할 수 없습니다.
'{}' 형식은 'ReactNode' 형식에 할당할 수 없습니다.ts(2786)
(parameter) Component: NextComponentType<NextPageContext, any, {}>
라고 나오는데 실행해도 크게 문제는 없는거 같은데 ts로 바꾸면서 타입을 설정해주지 않아서 나오는 warning같은 느낌인건지 궁굼해서 질문 남깁니다.
항상 좋은강의 감사드립니다!
답변 1
0
안녕하세요! 우혁님!
혹시, ver1으로 듣고 계신가요?!
ver2로 수강해 주시면, 최신버전으로 타입스크립트 설치 후, react 버전이 맞지 않아 충돌이 발생하는 부분을 해결하는 과정이 나와있답니다!
해당 내용으로 수강하시면 문제를 해결하실 수 있습니다!
관련된 내용은 아래를 참고해 주세요!
섹션32. TypeScript
0
{
"name": "class",
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "next lint",
"generate": "graphql-codegen"
},
"dependencies": {
"@apollo/client": "^3.7.13",
"@emotion/react": "^11.10.8",
"@emotion/styled": "^11.10.8",
"@material-ui/core": "^4.12.4",
"antd": "^5.4.6",
"axios": "^1.4.0",
"graphql": "^16.6.0",
"next": "12.1.0",
"react": "17.0.2",
"react-dom": "17.0.2",
"ts-node": "^10.9.1"
},
"devDependencies": {
"@graphql-codegen/cli": "^4.0.1",
"@graphql-codegen/typescript": "^4.0.0",
"@types/node": "17.0.2",
"@types/react": "17.0.2",
"@typescript-eslint/eslint-plugin": "^5.50.0",
"eslint": "^8.0.1",
"eslint-config-prettier": "^8.8.0",
"eslint-config-standard-with-typescript": "^35.0.0",
"eslint-plugin-import": "^2.25.2",
"eslint-plugin-n": "^15.0.0",
"eslint-plugin-promise": "^6.0.0",
"eslint-plugin-react": "^7.32.2",
"prettier": "2.8.8",
"typescript": "*"
}
}ver2로 수강중이고 말씀해주신 강의 들으면서 버전도 맞췄는데 제가 잘못한게 있을까요?? ㅠㅠ
node_modules랑 yarn.lock도 지우고 다시 다운받았습니다
fetchBoardsOfMine, fetchBoardsCountOfMine 에러 문의드립니다
0
40
1
댓글 기능 구현 중 질문드립니다.
0
67
1
쿠폰코드 발급
0
140
2
example 서버 플레이그라운드, API 접속 모두 안됩니다.
0
87
2
문의드립니다!! ㅠㅠ
0
104
2
graphql 백엔드 서버가 포폴용 빼곤 접속이 안됩니다.
0
78
2
_app.js 작성 이후로 에러가 발생하네요
0
95
2
학습자료
0
71
2
학습자료가 안열립니다.
0
51
2
플레이 그라운드 퀴즈 문제 질문이 있습니다.
0
61
0
기존강의 구매자, 업데이트 끝인가요?
0
111
3
업데이트 버전 수강
0
89
2
완벽한 프론트엔드
0
136
2
나만의 쇼핑몰 샘플 페이지 접속 확인부탁드립니다.
0
84
1
graphql 접속이 안됩니다.
0
101
2
const, let 사용 질문 드립니다.
0
71
2
싸이월드 만들기 1탄 피드백 부탁드립니다.
0
122
2
회원가입 과제 피드백 부탁드립니다.
0
81
2
styled.span / styled.input "CSS 자동완성"
0
47
1
쿠폰 발급 관련
0
167
2
서버 502 error
0
247
2
쿠폰 다시 부탁드려도 될가여?
0
140
2
a태그 패딩했을때 왜 크기가 줄어들지 않고 늘어나나요
0
185
2
2분 44초 질문
0
132
3





