-
#2-5 메인 화면 만들기React로 nodebirdSNS 만들기 (인프런)/#2 SNS 화면 만들기 2020. 1. 7. 16:18
- index.js
import React from "react"; import { Form, Input, Button, Card, Avatar, Icon } from "antd"; // index.js는 타임라인 역할 const dummy = { isLoggedIn: true, imagePaths: [], mainPosts: [ { User: { id: 1, nickname: "정중식" }, content: "첫 번째 게시글", img: "https://img.hankyung.com/photo/201807/03.17342954.1.jpg" } ] }; const Home = () => { return ( <div> {dummy.isLoggedIn && ( <Form style={{ marginBottom: 20 }} encType="multipart/form-data"> <Input.TextArea maxLength={140} placeholder="어떤 신기한 일이 있었나요?" /> <div> <input type="file" multiple hidden /> <Button>이미지 업로드</Button> <Button type="primary" style={{ float: "right" }} htmlType="submit"> 짹짹 </Button> </div> <div> {dummy.imagePaths.map((v, i) => { return ( <div key={v} style={{ display: "inline-block" }}> <img src={"http/localhost:3000/" + v} style={{ width: "200px" }} alt={v} /> <div> <Button>제거</Button> </div> </div> ); })} </div> </Form> )} {dummy.mainPosts.map(c => { return ( <Card key={+c.createdAt} cover={c.img && <img alt="example" src={c.img} />} actions={[ <Icon type="retweet" key="retweet" />, <Icon type="heart" key="heart" />, <Icon type="message" key="message" />, <Icon type="ellipsis" key="ellipsis" /> ]} extra={<Button>팔로우</Button>} > <Card.Meta avatar={<Avatar>{c.User.nickname[0]}</Avatar>} title={c.User.nickname} description={c.content} /> </Card> ); })} </div> ); }; export default Home;
-
<input type="file" multiple hidden /> : 여러개 올릴수있고, 숨겨져있다
'React로 nodebirdSNS 만들기 (인프런) > #2 SNS 화면 만들기' 카테고리의 다른 글
#2-7 컴포넌트 분리하기 (0) 2020.01.07 #2-6 프로필 화면 만들기 (0) 2020.01.07 #2-4 커스텀 훅 재사용 및 홈 화면 설정,useCallback (0) 2020.01.07 #2-1 _app.js로 레이아웃 분리하기 (0) 2020.01.06