Finally, we will create TodoItemComponent. It is responsible for rendering a to-do item and has a UI for the edit panel and the delete button.
We will create three files in the components folder. First, create a file named ITodoItemProps.ts and insert the following code; the parent component will communicate to-do item details as well as the bound functions to edit and delete the to-do item:
export interface ITodoItemProps {
itemId: number;
itemTitle: string;
itemDone: boolean;
edit: any;
delete: any;
}
Next, create ITodoItemState.ts and insert the following code:
export interface ITodoItemState {
itemId?: number;
itemTitle?: string;
itemDone?: boolean;
showPanel?: boolean;
}
Again, all the properties in state interface are optional. For each to-to item, we are interested in its data. In addition, we use this.state.showPanel to control the visibility of the edit to-do item panel.
Create the final file, TodoItemComponent.ts, in...