Jetpack Compose Academy · Lekcja

Wydzielanie wielokrotnego użytku funkcji Composable

Zrefaktoryzuj ekran w przejrzyste komponenty

Lekcja 4 z 413 kroki

Wydzielanie wielokrotnego użytku funkcji Composable to bezpłatna lekcja Jetpack Compose Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Jetpack Compose Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Jetpack Compose Academy zawiera 4 lekcji w sumie.

Czas na refaktoryzację

Karta działa, ale jest jedną długą funkcją. Teraz podzielisz ją na małe, nazwane elementy Composables, które łatwiej czytać i ponownie wykorzystywać. 🧩

Wyszukiwanie powtarzających się wzorców

Trzy bloki statystyk są niemal identyczne. Takie powtarzające się struktury wyraźnie sugerują, aby wyodrębnić jeden wielokrotnego użytku element Composable.

Wyodrębnianie StatBlock

Przenieś jedną statystykę do osobnej funkcji. Przekaż różniące się wartości — liczbę i etykietę — jako parameters.

@Composable
fun StatBlock(count: String, label: String) {
    Column { Text(count); Text(label) }
}

Ponowne użycie trzy razy

Teraz Row ze statystykami składa się z zaledwie trzech przejrzystych wywołań. Ten sam element StatBlock za każdym razem wyświetla inne dane, bez żadnego powielania kodu.

Row {
    StatBlock("128", "Posts")
    StatBlock("4.2k", "Followers")
    StatBlock("180", "Following")
}

Wyodrębnianie nagłówka

Połącz awatar, nazwę i opis w element ProfileHeader Composable. Duża funkcja ekranu stanie się krótsza i znacznie łatwiejsza do przeanalizowania.

@Composable
fun ProfileHeader(name: String, bio: String) {
    Column { /* avatar, name, bio */ }
}

Nadawanie jasnych nazw

Dobre nazwy elementów Composable opisują to, co widzisz: ProfileHeader, StatBlock, FollowButton. Jasne names sprawiają, że kod karty czyta się jak zdanie.

Przekazywanie danych

Zachowaj elastyczność komponentów, przyjmując parameters zamiast wpisywać wartości na stałe. Ten sam ProfileHeader może wyświetlać dowolnego użytkownika.

ProfileHeader(name = "Ada Lovelace", bio = "Building apps.")

Przenoszenie obsługi kliknięcia wyżej

To element nadrzędny powinien decydować, co robi dotknięcie. Udostępnij parametr lambda onFollowClick, aby FollowButton pozostał uniwersalny.

@Composable
fun FollowButton(onClick: () -> Unit) {
    Button(onClick = onClick) { Text("Follow") }
}

Składanie ekranu

Element ProfileCard najwyższego poziomu po prostu składa teraz poszczególne części w odpowiedniej kolejności. Każdy element podrzędny Composable ma jedno zadanie — tak właśnie działa way w Compose.

Column {
    ProfileHeader(name, bio)
    StatsRow(stats)
    FollowButton(onFollow)
}

Dodawanie parametru Modifier

Naprawdę wielokrotnego użytku elementy Composable przyjmują parametr Modifier z domyślną wartością Modifier. Wywołujący mogą wtedy z zewnątrz ustawiać ich rozmiar i wypełnienie.

@Composable
fun StatBlock(
    count: String,
    label: String,
    modifier: Modifier = Modifier
) { /* ... */ }

Przejrzystość i możliwość ponownego użycia

Jedna ogromna funkcja została podzielona na kilka małych, wyspecjalizowanych i wielokrotnego użytku elementów Composable. Taka struktura skaluje się wraz ze wzrostem complexity aplikacji. 🎉

Szybkie sprawdzenie

Co sprawia, że element Composable można ponownie wykorzystać dla różnych danych?

Podsumowanie: karta jest gotowa

Profil karty został zrefaktoryzowany na małe, wielokrotnego użytku elementy Composable z parametrami i miejscem na Modifier. Ma Pan teraz przejrzysty, skalowalny ekran zbudowany od początku do końca.

Bezpłatny start

Ucz się Kotlin dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
30
Lekcje
120

Często zadawane pytania

Czy lekcja „Wydzielanie wielokrotnego użytku funkcji Composable” jest bezpłatna?

Tak — pełny tekst „Wydzielanie wielokrotnego użytku funkcji Composable” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Jetpack Compose Academy, przejdź na CoddyKit PRO. Kurs Jetpack Compose Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Wydzielanie wielokrotnego użytku funkcji Composable”?

Zrefaktoryzuj ekran w przejrzyste komponenty Ćwiczysz Jetpack Compose Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Jetpack Compose Academy?

Nie wymagamy żadnego doświadczenia. Jetpack Compose Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „Wydzielanie wielokrotnego użytku funkcji Composable”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Jetpack Compose Academy?

Tak. Każda lekcja Jetpack Compose Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Szkic układu karty profilu
  2. Sekcja awatara, nazwy i biogramu
  3. Wiersz statystyk i przycisk obserwowania
  4. Wydzielanie wielokrotnego użytku funkcji Composable
← Powrót do Jetpack Compose Academy