src/components/Orders/index.js (26 lines of code) (raw):
import React, { Component } from 'react';
import PropTypes from "prop-types"
import {connect} from 'react-redux';
import {bindActionCreators} from 'redux';
import classnames from 'classnames';
import './style.css';
import OrdersList from '../OrdersList';
import * as orderActions from '../../actions/orderActions';
class Orders extends Component {
componentDidMount() {
this.props.actions.loadOrders();
}
componentWillUnmount() {
this.props.actions.unloadOrders();
}
render() {
const { className } = this.props;
return (
<div className={classnames('Orders', className)}>
<div className="ui vertical stripe segment">
<div className="ui container">
<h1 className="ui header">All orders</h1>
<OrdersList orders={this.props.orders} />
</div>
</div>
</div>
);
}
}
Orders.propTypes = {
orders: PropTypes.object.isRequired
};
function mapStateToProps(state, ownProps) {
return {
orders: state.orders
};
}
function mapDispatchToProps(dispatch) {
return {actions: bindActionCreators(orderActions, dispatch)}
}
export default connect(mapStateToProps, mapDispatchToProps)(Orders);