App.js 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. import React from 'react';
  2. import {connect} from 'react-redux'
  3. import {Switch, Route} from "react-router-dom";
  4. import {
  5. getAll,
  6. getDoctors,
  7. getServices,
  8. setAppointmentDate,
  9. setAppointmentDoctor,
  10. setAppointmentTime,
  11. setAppointmentSpec,
  12. setAppointmentComment,
  13. clearAppointment,
  14. putOrders,
  15. } from "./store/app/actions";
  16. import Header from "./components/Header";
  17. import Footer from "./components/Footer";
  18. import Doctors from "./components/Doctors"
  19. import Services from "./components/Services"
  20. import Service from "./components/Service"
  21. import Appointment from "./components/Appointment"
  22. export class App extends React.Component {
  23. componentDidMount() {
  24. // this.props.getDoctors();
  25. // this.props.getServices()
  26. this.props.getAll()
  27. }
  28. render() {
  29. console.log(this.props.app)
  30. return (
  31. <div className="App">
  32. <Header/>
  33. <Switch>
  34. <Route exact path="/" render={() => <div>Main</div>} />
  35. <Route exact path="/doctors" render={() => <Doctors data={this.props.app.doctors} /> } />
  36. <Route exact path="/services" render={() => <Services data={Array.from(Object.values(this.props.app.services))} />} />
  37. <Route exact path="/reviews" render={() => <div>Reviews</div>} />
  38. <Route exact path="/services/:service" render={(props) => <Service
  39. his={props}
  40. data={this.props.app.services}
  41. />} />
  42. <Route path="/appointment/:doctor" render={(props) => <Appointment
  43. his={props}
  44. dataDoctors={this.props.app.doctors}
  45. dataServices={this.props.app.services}
  46. dataOrders={this.props.app.orders}
  47. appointment={this.props.app.appointment}
  48. setAppointmentDate={this.props.setAppointmentDate}
  49. setAppointmentDoctor={this.props.setAppointmentDoctor}
  50. setAppointmentTime={this.props.setAppointmentTime}
  51. setAppointmentSpec={this.props.setAppointmentSpec}
  52. setAppointmentComment={this.props.setAppointmentComment}
  53. clearAppointment={this.props.clearAppointment}
  54. putOrders={this.props.putOrders}
  55. />} />
  56. </Switch>
  57. <Footer/>
  58. </div>
  59. );
  60. }
  61. }
  62. const mapStateToProps = state => {
  63. return {
  64. app:state.app,
  65. }
  66. };
  67. const mapDispatchToProps = {
  68. getAll,
  69. getDoctors,
  70. getServices,
  71. setAppointmentDate,
  72. setAppointmentDoctor,
  73. setAppointmentTime,
  74. setAppointmentSpec,
  75. setAppointmentComment,
  76. clearAppointment,
  77. putOrders
  78. };
  79. export default connect (mapStateToProps,mapDispatchToProps)(App)