다이나믹 라우터
getStaticProps
import React from "react";
import { useSelector } from "react-redux";
import Head from "next/head";
import { END } from "redux-saga";
import { Avatar, Card } from "antd";
import AppLayout from "../components/AppLayout";
import wrapper from "../store/configureStore";
import { LOAD_USER_REQUEST } from "../reducers/user";
const Profile = () => {
const { userInfo } = useSelector((state) => state.user);
return (
<AppLayout>
<Head>
<title>Conrad | NodeBird</title>
</Head>
{userInfo ? ( //SSR이 되야만 userInfo가 들어있다.
<Card
actions={[
<div key="twit">
짹짹
<br />
{userInfo.Posts}
</div>,
<div key="following">
팔로잉
<br />
{userInfo.Followings}
</div>,
<div key="follower">
팔로워
<br />
{userInfo.Followers}
</div>,
]}
>
<Card.Meta
avatar={<Avatar>{userInfo.nickname[0]}</Avatar>}
title={userInfo.nickname}
description="하하하하"
/>
</Card>
) : null}
</AppLayout>
);
};
export const getStaticProps = wrapper.getStaticProps(async (context) => {
console.log("getStaticProps");
context.store.dispatch({
type: LOAD_USER_REQUEST, //특정한 사용자정보를 가져오는 것.
data: 1,
});
context.store.dispatch(END);
await context.store.sagaTask.toPromise();
});
export default Profile;다이나믹 라우팅
Last updated