L'objectif est d'écrire une application dans laquelle :
Ecrire les composants suivants :
ItemsApp:
- possède dans son
stateun tableau de chaînesitems.- dispose d'une fonction
addItemqui reçoit une chaîne et remplace le tableauitemspar un tableau contenant le nouvel item en plus des anciens items- dispose d'une fonction
removeItemqui reçoit un nombre et remplace le tableauitemspar un tableau contenant les anciens items sauf celui dont l'index correspond au nombre reçu- retourne une interface composée d'un
AddItemFormet d'uneItemsList. Le composantAddItemFormreçoit une propaddItemà laquelle on affecte la fonctionaddItem; le composantItemsListreçoit une propitemsà laquelle on affecte le tableauitemsdu state, et une propremoveItemà laquelle on affecte la fonctionremoveItem
ItemsList:
- props : tableau
items(tableau de chaînes), fonctionremoveItem- retourne une interface composée d'une liste d'éléments; pour chaque item, on affiche son texte ainsi qu'un bouton dont l'événement
onClickappelle la fonctionremoveItemen lui passant l'index de l'élément dans le tableau
AddItemForm:
- props : fonction
addItem- possède dans son state une chaîne
currentText- retourne une interface composée d'un formulaire contenant un input et un bouton de validation; l'input est contrôlé et lié à la valeur
currentTextdu state; à la soumission du formulaire, la fonctionaddItemest appelée en lui passant la valeur decurrentTextpuis l'input est vidé