If you don't already have the app running, start it by running npm start
from the root of the frontend-bootcamp
folder. Click the "exercise" link under day 1 step 7 to see results.
-
Open TodoFooter and write a
TodoFooterProps
interface. It should include two values, aclear
andtodos
. Use this interface in the function props like this:(props: TodoFooterProps)
-
Write an
_onClick
function that callsprops.clear
.
- Since TodoFooter is not a class, the
_onClick
function needs to be stored in a const placed before thereturn
. - Remember to use an arrow function to define this click handler.
-
Assign
_onClick
to the button'sonClick
prop. You won't need to usethis
since the component isn't a class. -
Test out this functionality. Check a few todos complete and click the
Clear Completed
button.
-
Open TodoHeader and write
TodoHeaderProps
which will includeaddTodo
,setFilter
andfilter
. Replace the firstany
in the class declaration with this interface. -
This component also has state. Write
TodoHeaderState
(there's just one value), and add this where the secondany
was. -
Add
_onFilter
to each of the filter buttons
- Note that we can't add new parameters to onClick, but we can pull information from the event target!
- Remember to use an arrow function for this one too
-
Call
_onAdd
from the submit button -
Check out this new functionality! We can now add and filter todos!