Files
frontend-bootcamp/step2-07/exercise/src/components/TodoList.tsx
2019-02-19 23:15:43 -08:00

38 lines
749 B
TypeScript

import React from 'react';
import { Stack } from 'office-ui-fabric-react';
import { TodoListItem } from './TodoListItem';
import { Store } from '../store';
import { connect } from 'react-redux';
interface TodoListProps {
todos: Store['todos'];
}
const TodoList = (props: TodoListProps) => {
const { todos } = props;
const filteredTodos = Object.keys(todos);
return (
<Stack gap={10}>
{filteredTodos.map(id => (
<TodoListItem key={id} id={id} />
))}
</Stack>
);
};
function mapStateToProps(state: Store) {
return { ...state };
}
function mapDispatchToProps(dispatch: any) {
return {};
}
const component = connect(
mapStateToProps,
mapDispatchToProps
)(TodoList);
export { component as TodoList };