Relay mengenali properti komponen Figma yang ditentukan pada komponen yang dipaketkan. Secara konseptual, properti komponen Figma mirip dengan parameter Relay, meskipun ada beberapa perbedaan.
![Diagram - Lapisan vektor ke VectorDrawable ke Gambar](https://developer.android.com/static/develop/ui/compose/tooling/relay/images/figma-component-properties/figma_component_properties.png?authuser=9&hl=id)
Secara umum, properti komponen Figma tidak memerlukan plugin Relay untuk mengonfigurasi dan menggunakan, jadi sebaiknya gunakan dalam parameter Relay saat terjadi tumpang tindih. Namun, perhatikan bahwa parameter Relay memungkinkan komentar deskriptif, yang akan dibawa ke kode yang dihasilkan; properti komponen Figma tidak melakukannya.
Lihat di bawah untuk detail selengkapnya tentang berbagai jenis properti komponen dan cara Relay menafsirkannya.
Properti boolean
![](https://developer.android.com/static/develop/ui/compose/tooling/relay/images/figma-component-properties/boolean_properties.png?authuser=9&hl=id)
Properti Boolean mengontrol apakah elemen ditampilkan dalam desain tertentu. Fitur ini dapat secara signifikan mengurangi jumlah varian yang perlu ditentukan oleh komponen. Misalnya, tombol dengan ikon opsional tidak memerlukan varian terpisah untuk status yang ditampilkan ikon dan status ikon tersembunyi.
Relay mengikuti parameter boolean dalam komponen yang dipaketkan, dan menghasilkan tanda tangan fungsi @Composable yang sesuai.
Properti teks
![](https://developer.android.com/static/develop/ui/compose/tooling/relay/images/figma-component-properties/text_properties.png?authuser=9&hl=id)
Properti teks hampir identik dengan parameter konten teks Relay; satu-satunya perbedaan adalah dukungan untuk komentar dokumentasi. Jika parameter Relay dan properti teks dideklarasikan pada lapisan yang sama, Relay akan menggunakan definisi parameter untuk mengizinkan komentar. Namun, dalam kasus ini Anda harus berhati-hati untuk menghindari kebingungan dengan menggunakan penamaan yang konsisten.
Jika komentar tidak diperlukan untuk parameter tertentu, kami sarankan untuk menggunakan properti teks Figma agar lebih praktis.
Properti pertukaran instance
![](https://developer.android.com/static/develop/ui/compose/tooling/relay/images/figma-component-properties/instance_swap_properties.png?authuser=9&hl=id)
Properti pertukaran instance memungkinkan klien komponen untuk menukar instance di dalam turunan. Secara konseptual, hal ini mirip dengan parameter turunan Relay, tetapi ada beberapa perbedaan penting:
Keberlakuan: Properti pertukaran instance hanya dapat diterapkan pada lapisan instance. Namun, parameter turunan relai dapat diterapkan ke instance, frame, atau grup. Akibatnya, penggunaan properti pertukaran instance mengharuskan konten yang ditukar menjadi komponen itu sendiri, sedangkan Relay memungkinkan konten menjadi sub-hierarki lapisan.
Cakupan: Properti pertukaran instance hanya dapat memiliki nilainya yang ditetapkan di komponen tingkat teratas dalam hierarki komponen. Sebaliknya, parameter turunan relai ditetapkan pada tingkat mana pun dalam hierarki tempat parameter tidak diekspos ke tingkat induk.
Relay mengenali properti pertukaran instance yang dideklarasikan pada komponen paket, dan memperlakukannya sejauh mungkin setara dengan parameter turunan (misalnya, memunculkan tanda tangan fungsi yang sama dalam kode yang dihasilkan). Jika parameter turunan Relay dideklarasikan pada lapisan instance, definisinya akan lebih diprioritaskan daripada properti pertukaran instance (jika ada) yang dideklarasikan pada lapisan tersebut.
Seperti properti teks, menggunakan properti komponen Figma dan parameter Relay di lapisan yang sama dapat menyebabkan kebingungan jika penamaannya tidak konsisten. Namun, karena parameter turunan memiliki perbedaan yang signifikan dalam kemampuan untuk menukar properti pertukaran instance, kami tidak memiliki rekomendasi menyeluruh untuk apa yang harus digunakan. Keduanya adalah kemungkinan. Tujuan penggunaan komponen tersebut akan menginformasikan keputusan ini.
Properti varian
![](https://developer.android.com/static/develop/ui/compose/tooling/relay/images/figma-component-properties/variant_properties.png?authuser=9&hl=id)
Properti varian secara implisit dibuat jika komponen memiliki lebih dari satu varian. Relay mendukung properti varian dengan menerjemahkannya ke nilai enum dalam kode yang dihasilkan.
Desainer juga dapat mendeklarasikan parameter Relay yang mengekspos properti varian untuk lapisan instance dalam komponen yang dipaketkan.