뭘 구현해야하는가? => 스토리에 초점을 맞춘다.
사용자가 서비스를 어떻게 이용할까 예측해봄(스토리)
더 자세히 가보면..
그럴듯한 스토리를 만들어 기능을 뽑아낸다.
뽑아낸 기능은 다음과 같다
기능에서 도메인을 발견할 수도 있다.
도메인에서 필요한 요소를 정의(모델링) 할수있다.
이제 개발 프로세스를 진행한다.
모델링 => 백엔드 => 프론트엔드 => 배포
//provider.tsx
"use client"; //React쪽 기능 사용할때 선언해주어야함. provider는 모두 클라이언트 기능이니까..모아서 선언.
import { ApolloClient, ApolloProvider, InMemoryCache } from "@apollo/client";
import { CoProvider } from "@co-design/core";
import { ReactNode } from "react";
interface ProvidersProps {
children: ReactNode;
}
const client = new ApolloClient({
uri: "http://localhost:1337/graphql",
cache: new InMemoryCache(),
});
export function Providers({ children }: ProvidersProps) {
return (
<ApolloProvider client={client}>
<CoProvider withGlobalStyles withNormalizeCSS>
{children}
</CoProvider>
</ApolloProvider>
);
}
//app/page.tsx
"use client"; //co-design도 마찬가지로 React관련 기능이다.
import { Button } from "@co-design/core";
export default function Home() {
return (
<div>
<Button>버튼</Button>
</div>
);
}
해결인데...next 13부터는 이렇게 사용해야해서 서버 컴포넌트의 이점을 잃는다.
따라서 CSS in JS보다 tailwind, postcss같은 스타일링을 사용하는 걸 권장함
크롬 확장프로그램 CollorZilla삭제후 해결
강의에서 a태그 내부에 div태그를 사용했다.
정확히말하면 <Anchor>태그 내부에 <Heading>태그 사용.
어쨋든 내부적으론 a > div가 되어버려 오류가 났다. 이는 권장되지 않는 사안임.
일단 치명적인 오류는 아니어서...넘어갔다.
버전도 다르다보니 에러가 정말 많구나?
use client를 선언한 곳에선 useRouter를 router가 아닌 navigation에서 가져와야한다.

strapi에서는 헤더에 발급받은 jwt를 넣어서 보내도 정상적으로 데이터가 받아와진다.