import React from 'react'; import { IonHeader, IonToolbar, IonTitle, IonContent, IonPage, IonButtons, IonMenuButton, IonGrid, IonRow, IonCol, } from '@ionic/react'; import SpeakerItem from '../components/SpeakerItem'; import { Speaker } from '../models/Speaker'; import { Session } from '../models/Schedule'; import { connect } from '../data/connect'; import * as selectors from '../data/selectors'; import './SpeakerList.scss'; interface OwnProps {} interface StateProps { speakers: Speaker[]; speakerSessions: { [key: string]: Session[] }; } interface DispatchProps {} interface SpeakerListProps extends OwnProps, StateProps, DispatchProps {} const SpeakerList: React.FC = ({ speakers, speakerSessions, }) => { return ( Speakers Speakers {speakers.map((speaker) => ( ))} ); }; export default connect({ mapStateToProps: (state) => ({ speakers: selectors.getSpeakers(state), speakerSessions: selectors.getSpeakerSessions(state), }), component: React.memo(SpeakerList), });