import React from 'react'; import { DefaultButton, Stack, Text } from 'office-ui-fabric-react'; import { actions } from '../actions'; import { connect } from 'react-redux'; import { Store } from '../store'; interface TodoFooterProps { todos: Store['todos']; clear: () => void; } const TodoFooter = (props: TodoFooterProps) => { const { todos, clear } = props; const itemCount = Object.keys(todos).filter(id => !todos[id].completed).length; return ( {itemCount} item{itemCount === 1 ? '' : 's'} left clear()}>Clear Completed ); }; const ConnectedTodoFooter = connect( (state: Store) => ({ todos: state.todos }), dispatch => ({ clear: () => dispatch(actions.clear()) }) )(TodoFooter); export { ConnectedTodoFooter as TodoFooter };