TaskList: convert to a pure functional component.

master
Tom Hacohen 5 years ago
parent 1d792add0f
commit ec5d1faaa1

@ -26,14 +26,13 @@ const sortSelector = createSelector(
(entries) => entries.sort((a, b) => a.title.localeCompare(b.title)) (entries) => entries.sort((a, b) => a.title.localeCompare(b.title))
); );
class TaskList extends React.PureComponent { interface PropsType {
public props: {
entries: TaskType[]; entries: TaskType[];
onItemClick: (entry: TaskType) => void; onItemClick: (entry: TaskType) => void;
}; }
public render() { export default React.memo(function TaskList(props: PropsType) {
const entries = this.props.entries.filter((x) => !x.finished); const entries = props.entries.filter((x) => !x.finished);
const sortedEntries = sortSelector(entries); const sortedEntries = sortSelector(entries);
const itemList = sortedEntries.map((entry) => { const itemList = sortedEntries.map((entry) => {
@ -43,7 +42,7 @@ class TaskList extends React.PureComponent {
<TaskListItem <TaskListItem
key={uid} key={uid}
entry={entry} entry={entry}
onClick={this.props.onItemClick} onClick={props.onItemClick}
/> />
); );
}); });
@ -53,7 +52,4 @@ class TaskList extends React.PureComponent {
{itemList} {itemList}
</List> </List>
); );
} });
}
export default TaskList;

Loading…
Cancel
Save