ManageCoursePage

master
Tudor Stanciu 2020-04-11 23:29:22 +03:00
parent 210b0885a1
commit d29de78333
1 changed files with 59 additions and 0 deletions

View File

@ -0,0 +1,59 @@
import React from "react";
import { connect } from "react-redux";
import { loadCourses } from "../../redux/actions/courseActions";
import { loadAuthors } from "../../redux/actions/authorActions";
import PropTypes from "prop-types";
import { bindActionCreators } from "redux";
class ManageCoursePage extends React.Component {
componentDidMount() {
const { courses, authors, actions } = this.props;
if (courses.length === 0) {
actions.loadCourses().catch((error) => {
alert("Loading courses failed. " + error);
});
}
if (authors.length === 0) {
actions.loadAuthors().catch((error) => {
alert("Loading authors failed. " + error);
});
}
}
render() {
return (
<>
<h2>Manage course</h2>
</>
);
}
}
ManageCoursePage.propTypes = {
courses: PropTypes.array.isRequired,
authors: PropTypes.array.isRequired,
actions: PropTypes.object.isRequired
};
function mapStateToProps(state) {
return {
courses: state.courses,
authors: state.authors
};
}
function mapDispatchToProps(dispatch) {
return {
actions: bindActionCreators(
{
loadCourses,
loadAuthors
},
dispatch
)
};
}
export default connect(mapStateToProps, mapDispatchToProps)(ManageCoursePage);