NEXTJSを使用してTwitterをクローンする(4.スタックデータを使用してプロファイルページを完了する)
構成部品
profile.js
import AppLayout from "../components/AppLayout";
import Head from "next/head";
import NicknameEditForm from "../components/NicknameEditForm";
import FollowList from "../components/FollowList";
const Profile = () => {
const followerList = [
{ nicname: "제로초" },
{ nicname: "이재훈" },
{ nicname: "바보" },
];
const followingList = [
{ nicname: "팔로잉" },
{ nicname: "이재훈" },
{ nicname: "바보" },
];
return (
<>
<Head>
<title>내 프로필 | NodeBird</title>
</Head>
<AppLayout>
<NicknameEditForm />
<FollowList header="팔로잉 목록" data={followingList} />
<FollowList header="팔로워 목록" data={followerList} />
</AppLayout>
</>
);
};
export default Profile;
プロファイル構成部品NickName EditFormコンポーネント
FollowListコンポーネントporps→header=「注目リスト」data={followList}
FollowsListコンポーネントporps→header=「注目リスト」data={followsList}
このように構成されている
NicknameEditForm.js
エレメントのFormセクションにスタイルセクションを再描画すると、レンダリング時にスタイルセクションを再描画します.
外に出したほうがいい!(最適化のため)
しかし、これは必要ではありません.機能に問題がある場合でも構いません.
import { Form, Input } from "antd";
import { useMemo } from "react";
const NicknameEditForm = () => {
const style = useMemo(
() => ({
marginTop: "20px",
border: "1px solid #d9d9d9",
padding: "20px",
}),
[]
);
return (
<Form style={style}>
<Input.Search addonBefore="닉네임" enterButton="수정" />
</Form>
);
};
export default NicknameEditForm;
FollowList.jsimport PropTypes from "prop-types";
import { Button, Card, List } from "antd";
import { StopOutlined } from "@ant-design/icons";
const FollowList = ({ header, data }) => {
return (
<List
style={{ marginTop: 20 }}
grid={{ gutter: 4, xs: 2, md: 3 }}
size="small"
header={<div>{header}</div>}
loadMore={
<div style={{ textAlign: "center", margin: "10px 0" }}>
<Button>더 보기</Button>
</div>
}
bordered
dataSource={data}
renderItem={item => (
<List.Item style={{ marginTop: 20 }}>
<Card actions={[<StopOutlined key="stop" />]}>
<Card.Meta description={item.nicname} />
</Card>
</List.Item>
)}
/>
);
};
FollowList.propTypes = {
header: PropTypes.string.isRequired,
data: PropTypes.array.isRequired,
};
export default FollowList;
Reference
この問題について(NEXTJSを使用してTwitterをクローンする(4.スタックデータを使用してプロファイルページを完了する)), 我々は、より多くの情報をここで見つけました https://velog.io/@abc5259/NEXTJS-로-twitter클론-해보기4.-더미데이터로-profile-page-완성하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol