Relay nhận dạng các thuộc tính thành phần Figma được xác định trên các thành phần đóng gói. Về mặt lý thuyết, các thuộc tính thành phần Figma tương tự như tham số Relay, mặc dù có một số điểm khác biệt.
![Biểu đồ – Lớp vectơ sang VectorDrawable sang Image (Hình ảnh)](https://developer.android.google.cn/static/develop/ui/compose/tooling/relay/images/figma-component-properties/figma_component_properties.png?authuser=8&hl=vi)
Nhìn chung, các thuộc tính thành phần Figma không yêu cầu trình bổ trợ Relay để định cấu hình và sử dụng. Vì vậy, bạn nên sử dụng các thuộc tính này trong tham số Relay khi có sự chồng chéo. Tuy nhiên, hãy lưu ý rằng các tham số Relay cho phép nhận xét mang tính mô tả, và nhận xét này được chuyển sang mã được tạo, còn các thuộc tính thành phần Figma thì không.
Xem phần bên dưới để biết thêm thông tin chi tiết về các loại thuộc tính thành phần và cách Relay diễn giải các loại thuộc tính đó.
Thuộc tính boolean
![](https://developer.android.google.cn/static/develop/ui/compose/tooling/relay/images/figma-component-properties/boolean_properties.png?authuser=8&hl=vi)
Thuộc tính Boolean kiểm soát việc các phần tử có được hiển thị trong một thiết kế cụ thể hay không. Chúng có thể làm giảm đáng kể số lượng biến thể mà một thành phần cần xác định. Ví dụ: một nút có biểu tượng không bắt buộc thì không cần các biến thể riêng biệt cho trạng thái hiển thị và trạng thái ẩn của biểu tượng.
Relay tuân theo các tham số boolean trong các thành phần đóng gói và tạo chữ ký hàm @Composable thích hợp.
Thuộc tính văn bản
![](https://developer.android.google.cn/static/develop/ui/compose/tooling/relay/images/figma-component-properties/text_properties.png?authuser=8&hl=vi)
Các thuộc tính văn bản gần giống với tham số nội dung văn bản của Relay; điểm khác biệt duy nhất là tính năng hỗ trợ các nhận xét trong tài liệu. Nếu cả tham số Relay và thuộc tính văn bản đều được khai báo trên cùng một lớp, thì Relay sẽ sử dụng định nghĩa tham số để cho phép nhận xét. Tuy nhiên, bạn nên thận trọng trong trường hợp này để tránh nhầm lẫn bằng cách sử dụng tên nhất quán.
Nếu một tham số cụ thể không nhất thiết phải có ghi chú, thì bạn nên sử dụng thuộc tính văn bản trong Figma để đơn giản hoá.
Thuộc tính hoán đổi thực thể
![](https://developer.android.google.cn/static/develop/ui/compose/tooling/relay/images/figma-component-properties/instance_swap_properties.png?authuser=8&hl=vi)
Thuộc tính hoán đổi thực thể cho phép các ứng dụng của một thành phần hoán đổi các thực thể bên trong một thành phần con. Về mặt lý thuyết, thuộc tính này tương tự như các tham số Relay con, nhưng có một số điểm khác biệt quan trọng:
Khả năng áp dụng: Bạn chỉ có thể áp dụng các thuộc tính hoán đổi thực thể cho các lớp thực thể. Tuy nhiên, các tham số Relay con có thể được áp dụng cho thực thể, khung hoặc nhóm. Do đó, việc sử dụng thuộc tính hoán đổi thực thể yêu cầu nội dung được hoán đổi phải là một thành phần, trong khi Relay cho phép nội dung là bất kỳ hệ phân cấp phụ nào của các lớp.
Phạm vi: Bạn chỉ có thể đặt giá trị cho các thuộc tính hoán đổi thực thể ở thành phần cấp cao nhất trong hệ phân cấp thành phần. Ngược lại, các tham số con Relay con được đặt ở bất kỳ cấp nào trong hệ phân cấp mà tham số không hiển thị ở cấp gốc.
Relay nhận ra các thuộc tính hoán đổi thực thể được khai báo trên các thành phần đóng gói và coi chúng tương đương với các tham số con (ví dụ: phát cùng một chữ ký hàm trong mã được tạo). Nếu tham số Relay con được khai báo trên một lớp thực thể, thì định nghĩa của tham số này sẽ được ưu tiên hơn thuộc tính hoán đổi thực thể (nếu có) được khai báo trên lớp đó.
Tương tự như với thuộc tính văn bản, việc sử dụng cả thuộc tính thành phần Figma và tham số Relay trên cùng một lớp có thể gây nhầm lẫn nếu cách đặt tên không nhất quán. Tuy nhiên, do các tham số con có sự khác biệt đáng kể về khả năng hoán đổi thực thể thuộc tính, nên chúng tôi không có đề xuất chung chung về việc nên sử dụng, ở đâu. Cả hai đều có thể. Mục đích sử dụng thành phần này sẽ quyết định quyết định này.
Thuộc tính biến thể
![](https://developer.android.google.cn/static/develop/ui/compose/tooling/relay/images/figma-component-properties/variant_properties.png?authuser=8&hl=vi)
Thuộc tính biến thể được tạo ngầm khi các thành phần có nhiều biến thể. Relay hỗ trợ các thuộc tính biến thể bằng cách dịch sang các giá trị enum trong mã được tạo.
Nhà thiết kế cũng có thể khai báo các tham số Relay để hiển thị các thuộc tính biến thể cho các lớp thực thể trong thành phần đóng gói.