- Learn how to use Props in various ways.
- Learn use two API; Faker, Semantic UI
- Make props component when it need to be reusable
- Can call whole component itself with {props.children}
index.js
import React from "react";
import ReactDOM from "react-dom";
import CommentDetail from "./CommentDetail";
import faker from "faker";
import ApprovalCard from "./ApprovalCard";
const App = () => {
return (
<div className="ui container comments">
<ApprovalCard>
<CommentDetail
author="Paduck"
timeAgo="Today at 4:45pm"
text={faker.lorem.sentence()}
avatar={faker.image.avatar()}
/>
</ApprovalCard>
<ApprovalCard>
<CommentDetail
author="Alex"
timeAgo="Today at 2:45pm"
text={faker.lorem.sentence()}
avatar={faker.image.avatar()}
/>
</ApprovalCard>
<ApprovalCard>
<CommentDetail
author="Jane"
timeAgo="Yesterday at 4:55pm"
text={faker.lorem.sentence()}
avatar={faker.image.avatar()}
/>
</ApprovalCard>
</div>
);
};
ReactDOM.render(<App />, document.querySelector("#root"));
ApprovalCard.js
- Children Through Props : {props.children}
import React from "react";
const ApprovalCard = props => {
return (
<div className="ui card">
<div className="content">{props.children}</div>
<div className="extra content">
<div className="ui two buttons">
<div className="ui basic green button">Approve</div>
<div className="ui basic red button">Reject</div>
</div>
</div>
</div>
);
};
export default ApprovalCard;
import React from "react";
const CommentDetail = props => {
return (
<div className="comment">
<a href="/" className="avatar">
<img alt="avatar" src={props.avatar} />
</a>
<div className="content">
<a href="/" className="author">
{props.author}
</a>
<div className="metadata">
<span className="date">{props.timeAgo}</span>
</div>
<div className="text">{props.text}</div>
</div>
</div>
);
};
export default CommentDetail;