Aplikacija nam bo pomagal pri beleženju naših nalog. Z njo bomo beležili naše domače naloge, hišna opravila in tudi kaj bolj zabavnega - kot npr. kateri film si želimo ogledati. Lahko bomo dodajali, urejali in brisali opravila, prav tako pa jih bomo lahko označili kot opravljena.
Aplikacijo bodo sestavljale naslednje komponente:
App.jsx: Ta bo hranila seznam vseh todo objektov. PrikazalaShowTodos.jsxinAddTodo.jsx.AddTodo.jsxbo prikazalaformza dodajanje novega todo objekta.ShowTodos.jsxbo prikazala vse todo-je.Todo.jsxbo prikazal en todo.ShowTodos.jsxbo z njim prikazal seznam vseh todo-jev.
- Uporabljali bomo shadcn komponente: izberi tiste, ki so glede na zahtevano funkcionalnosti najbolj primerne. Primer: za vnosno polje bomo uporabljali kar tale input.
- Pri oblikovanju uporabi tudi na tailwindcss s katerim poskrbi, da je stran poravnan na sredini, da so odmiki primerni itd.
- V
App.jsxdefinirajtetodosstate, ki bo hranil seznam vseh todo objektov. Na začetku naj bo seznam prazen. - V
App.jsxdefinirajte funkcijoaddTodo, ki bo sprejelatodoobjekt in ga dodala v seznamtodos.
- V
AddTodo.jsxdefinirajte state:title. Na začetku naj bo prazen string. - Naredite
formin vanj dodajteInputpolje, ki bo uporabniku omogočilo vnos naslova todo-ja. Input "povežite" s state-omtitle. (Pozor: Input in input ni ista stvar!) - Spomnite se na prejšnje srečanje, kjer lahko pogledate kako smo obravnavali podatke iz vnosnih polj.
- Uporabite eventa kot sta
onChangeinonClick- enega boste uporabili pri vnosnem polju (input), drugega pa pri gumbu (button). - Funkcija, ki jo pokličete ob dogodku onClick naj v seznam
todosdoda novtodo.
- V
ShowTodos.jsxspišite zanko, ki bo za vsak element v seznamutodosuporabila komponentoTodo.jsxin na nek - poljuben - način prikazala elemente iz seznama. Uporabite komponento iz shadcn, ki bo najbolj ustrezno prikazala element todo-ja.
- Ko narediti že vse do sedaj opisane naloge, se lahko lotite še malo bolj zahtevnih. Implementirajte brisanje posameznih todo-jev. Dodajte gumb s križcem ali besedilom 'Briši' zraven posameznega todo-ja. Ob kliku nanj naj se todo odstrani.
- Še malo zahtevnejše: dodajte še urejanje posameznih todo-jev. Razmislite kako boste najprej vizualno uredili urejanje tega todo-ja, nato pa še kako boste uredili pravi element v seznamu.