Use lifiting functions to make a real heirarchy in your todo app.
Given this component hierarchy:
ItemList
should be stored as state at the top level.Form
can be it's own component, or be integrated into the top level component.TodoItem
will get passed the method that gets called for item delete.
When editing a todo item, put the validation in the edit as well. (this could be a modular form component that is used at the top level and for item edit)
Add the deleted items list
Make it so that items expire after a certain amount of time (5 mins, 1 day)
Make another level of hierarchy, where items can go into named lists (a la trello)