반응형
◆ 주문 내역 페이지
▶주문 내역 페이지 – src/order.js
import React from 'react';
function Order(props) {
return (
<div className="col-12">
<div className="card text-center">
<div className="card-header"><h5>{props.productname}</h5></div>
<div className="card-body">
<div className="row">
<div className="mx-auto col-6">
<img src={props.img} alt={props.imgalt} className="img-thumbnail float-left" />
</div>
<div className="col-6">
<p className="card-text">{props.desc}</p>
<div className="mt-4">
Price: <strong>{props.price}</strong>
</div>
</div>
</div>
</div>
<div className="card-footer text-muted">
Purchased {props.days} days ago
</div>
</div>
<div className="mt-3" />
</div>
);
}
export default class OrderContainer extends React.Component {
constructor(props) {
super(props);
this.state = {
orders: []
};
}
componentDidMount() {
fetch(this.props.location)
.then(res => res.json())
.then((result) => {
this.setState({
orders: result.orders
});
});
}
render() {
return (
<div className="row mt-5">
{this.state.orders.map(order => <Order {...order} />)}
</div>
);
}
}
◆ 로그인 했을 경우 보여질 탐색 메뉴
▶ Navigation.js 파일 수정
import React from 'react';
import { NavLink } from 'react-router-dom';
export default class Navigation extends React.Component {
buildLoggedInMenu() {
return (
<div className="navbar-brand order-1 text-white my-auto">
<div className="btn-group">
<button type="button" className="btn btn-success dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Welcome {this.props.user.name}
</button>
<div className="dropdown-menu">
<a className="btn dropdown-item" role="button">Sign Out</a>
</div>
</div>
</div>
);
}
render() {
return (
<div>
<nav className="navbar navbar-expand-lg navbar-dark bg-success fixed-top">
<div className="container">
{
this.props.user.loggedin ?
/*<p className="navbar-brand order-1 text-white my-auto">Welcome {this.props.user.name}</p>*/
this.buildLoggedInMenu()
: <button type="button" className="navbar-brand order-1 btn btn-success" onClick={() => { this.props.showModalWindow();}}>Sign in</button>
<div className="navbar-collapse" id="navbarNavAltMarkup">
<div className="navbar-nav">
<NavLink className="nav-item nav-link" to="/">Home</NavLink>
<NavLink className="nav-item nav-link" to="/promos">Promotions</NavLink>
{this.props.user.loggedin ? <NavLink className="nav-item nav-link" to="/myorders">My Orders</NavLink> : null}
<NavLink className="nav-item nav-link" to="/about">About</NavLink>
</div>
</div>
</div>
</nav>
</div>
);
}
}
반응형
'IT 초보코딩의 세계 > Go 언어' 카테고리의 다른 글
Go 언어 Back End 제작해보기(Restful API,Gin Framework, Model & Database Layer) 1장 (8) | 2023.05.18 |
---|---|
Go 언어 Front End 제작해보기(서비스 등록 페이지, 컴포넌트 등록 ) 6장 (14) | 2023.05.17 |
Go 언어 Front End 제작해보기(로그인 페이지) 4장 (6) | 2023.05.12 |
Go 언어 Front End 제작해보기(회원 가입) 3장 (4) | 2023.05.11 |
Go 언어 Front End 제작해보기(모달 윈도) 2장 (6) | 2023.05.10 |
댓글