Usługa przekaźnika rozpoznaje właściwości komponentu Figma zdefiniowane w komponentach w pakiecie. Właściwości komponentu Figma są zasadniczo podobne do parametrów przekaźnika, ale są pewne różnice.
![Diagram – warstwy wektorowe do elementu VectorDrawable to Image](https://developer.android.google.cn/static/develop/ui/compose/tooling/relay/images/figma-component-properties/figma_component_properties.png?authuser=7&hl=pl)
Ogólnie właściwości komponentu Figma nie wymagają konfiguracji i używania wtyczki Relay, więc zaleca się używanie ich w parametrach usługi Relay w przypadku pokrywania się danych. Zwróć jednak uwagę, że parametry usługi Relay zezwalają na komentarz opisowy, który jest przenoszony do wygenerowanego kodu. Właściwości komponentu Figma tego nie robią.
Poniżej znajdziesz więcej informacji o różnych typach właściwości komponentów i sposobie ich interpretowania przez usługę Relay.
Właściwości logiczne
![](https://developer.android.google.cn/static/develop/ui/compose/tooling/relay/images/figma-component-properties/boolean_properties.png?authuser=7&hl=pl)
Właściwości logiczne decydują o tym, czy elementy są wyświetlane w określonym projekcie. Mogą one znacznie zmniejszyć liczbę wariantów, które musi zdefiniować komponent. Na przykład przycisk z opcjonalną ikoną nie musi mieć osobnych wariantów zarówno w przypadku stanów, w których ikona jest widoczna, jak i „Ikona niewidoczna”.
Usługa przekaźnika uwzględnia parametry logiczne zawarte w komponentach w pakiecie i generuje odpowiedni podpis funkcji @Composable.
Właściwości tekstu
![](https://developer.android.google.cn/static/develop/ui/compose/tooling/relay/images/figma-component-properties/text_properties.png?authuser=7&hl=pl)
Właściwości tekstu są prawie takie same jak parametry zawartości tekstowej usługi Relay. Jedyną różnicą jest obsługa komentarzy w dokumentacji. Jeśli w tej samej warstwie są zadeklarowane parametry przekaźnika i właściwości tekstowe, usługa Relay używa definicji parametru, by umożliwić dodawanie komentarzy. W takim przypadku należy jednak zachować ostrożność, stosując spójne nazwy, aby uniknąć nieporozumień.
Jeśli komentarze nie są wymagane dla określonego parametru, dla uproszczenia zalecamy użycie właściwości tekstowej Figma.
Właściwości wymiany instancji
![](https://developer.android.google.cn/static/develop/ui/compose/tooling/relay/images/figma-component-properties/instance_swap_properties.png?authuser=7&hl=pl)
Właściwości zamiany instancji umożliwiają klientom danego komponentu zamianę instancji w elemencie podrzędnym. Ogólnie rzecz biorąc, jest to podobne do parametrów przekazywania podrzędnych, ale występują pewne krytyczne różnice:
Zastosowanie: właściwości zamiany instancji można stosować tylko do warstw instancji. Parametry podrzędne przekazywania z powiadomieniami można jednak stosować do instancji, ramek i grup. W rezultacie użycie właściwości zamiany instancji wymaga, aby zamieniona treść sama w sobie była komponentem, natomiast usługa Relay pozwala na wykorzystywanie treści w dowolnej podhierarchii warstw.
Zakres: wartości właściwości wymiany instancji mogą być ustawiane tylko na najwyższym poziomie komponentu w hierarchii komponentów. Z kolei parametry podrzędne przekazywania są ustawiane na dowolnym poziomie hierarchii, na którym parametr nie jest dostępny na poziomie nadrzędnym.
Usługa przekaźnika rozpoznaje właściwości zamiany instancji zadeklarowane w komponentach w pakiecie i traktuje je w jak największym stopniu równoważne z parametrami podrzędnymi (np. przez wysyłanie tego samego podpisu funkcji w wygenerowanym kodzie). Jeśli w warstwie instancji zadeklarowany jest parametr podrzędny przekazywania, jego definicja ma pierwszeństwo przed właściwością zamiany instancji (jeśli jakaś występuje) zadeklarowana w tej warstwie.
Podobnie jak w przypadku właściwości tekstowych, użycie w tej samej warstwie zarówno właściwości komponentu Figma, jak i parametru Relay, może powodować dezorientację, jeśli nazwy są niespójne. Ze względu na to, że parametry podrzędne mają znaczne różnice w możliwości wystąpienia zamiany właściwości, nie mamy ogólnego zalecenia dotyczące ich użycia i miejsca, w którym należy je stosować. Oba są możliwościami. Zamierzone użycie komponentu wpłynie na tę decyzję.
Właściwości wersji
![](https://developer.android.google.cn/static/develop/ui/compose/tooling/relay/images/figma-component-properties/variant_properties.png?authuser=7&hl=pl)
Właściwości wariantu są tworzone domyślnie, gdy komponenty mają więcej niż 1 wariant. Usługa Relay obsługuje właściwości wariantów, tłumacząc je na wartości wyliczeniowe w wygenerowanym kodzie.
Projektanci mogą też zadeklarować parametry przekaźnika, które ujawniają właściwości wariantów warstw instancji w komponencie w pakiecie.