Yalnızca CSS istifadə edərək qırmızı, mavi və boz bloklar yaradın (strukturunu dəyişdirmədən, örtüklər əlavə etmədən). Bloklar şəkildəkinə uyğun olaraq yerləşdirilməlidir. Konteyner və bloklara stil təyin edə bilərsiniz.
Frontend
Verilənləri (source), sahələri (fields), filteri (filter) və sıralama (order) qəbul edən mapper funksiyasını həyata keçirin. Lazımdır: parametrləri doğrulamaq (fields massiv olmalıdır, source/filter/order funksiyalar olmalıdır, fields-dakı sahələr məlumatlarda mövcud olmalıdır), source() çağırışı ilə məlumatları əldə etmək, filter ilə filtrləmək, order ilə sıralamaq və yalnız fields-dakı istənilən sahələri geri qaytarmaq.
React komponentinin kodunu nəzərdən keçirin, məlumatların dəyişdirilməsini həyata keçirir, sətir funksiyasını çağırır və siyahı göstərir. Bütün səhvləri və problemləri tapın və düzəldin (useEffect-də async, asılılıq massivinin olmaması, indeksdən istifadə kimi).
Yalnızca DOM API-dən (React olmadan, sənəddən istifadə edərək) istifadə edərək, hər hansı bir düzbucağa kliklədikdə onun rəngini çıxaran kod yazın. Bütün elementlər üçün bir hadisə idarəedicisi istifadə etmək məsləhətdir. event.target və event.currentTarget arasındakı fərq nədir?
Queue sinfinin run metodunu istifadə nümunəsinə uyğun şəkildə həyata keçirin. run metodu ona ötürülən asinxron funksiyaları ardıcıl şəkildə icra etməlidir. Növbədəki növbəti funksiya yalnız next çağırıldıqdan sonra çağırıla bilər. Əgər funksiyalardan birində xəta baş verərsə, növbəti funksiyalar çağrılmır. Metodlar chaining-i dəstəkləməlidir.
Add düyməsi olan React komponenti yazın. Add düyməsinə kliklədikdə, ardıcıl nömrəyə malik yeni bir düymə əlavə olunur. Yaradılmış düyməyə kliklədikdə, o silinir. Silmə düzgün işləməlidir (indeksə görə deyil, unikal identifikatorə görə).
asyncFilter funksiyasını həyata keçirin, bu funksiya ədədlər massivini və asinxron predikat funksiyasını qəbul edir və filtrlənmiş massiv qaytarır. Məsələn, giriş [1, 2, 3] və yalnız tək ədədləri saxlayan funksiya ilə çıxış [1, 3] olmalıdır.