Почему boolean property лучше не использовать в компонентах?

Boolean property — это свойство компонента, которое позволяет показывать/скрывать элемент внутри другого компонента

Почему boolean property лучше не использовать в компонентах?

В итоге получаем свитчер который переключает видимость элемента

Почему boolean property лучше не использовать в компонентах?

И вроде бы все хорошо но есть ряд минусов:

  • Скрытые компоненты грузят фигму. Если проект небольшой — то это некритично, если масштабный — может вырасти в проблему
  • Нельзя кастомизировать отступы. Представим что есть кнопка с иконкой. Внутри контейнера иконки есть 2px отступа от краев до самой иконки. Логично что если у кнопки без иконки отступы 16-16 то желательно у кнопки с иконкой учесть те 2 пикселя что внутри иконки. Соответственно 14-16. С вышеуказанным свойством этого сделать не получится
  • Неудобно документировать в фигме и описывать варианты (субъективно)

Как быть?

Для себя понял что лучше старых добрых вариантов пока ничего нет

Создаете вариант кнопки без иконки (Добавляете ему свойство% Nameproperty% и ставите значение OFF или FALSE)

На варианте с иконкой меняете значение на ON или TRUE

У дочернего компонента будет такой же свитчер но будут отсутствовать те минусы что перечислил выше

Это моя первая небольшая статья на vc и я буду рад услышать любое мнение. Если статья понравилась то заглядывайте ко мне в телегу

44
4 комментария

Комментарий недоступен

1
Ответить

Спасибо, вы абсолютно правы.

Ответить

Тоже пришла к такому выводу

Ответить

На мой взгляд, вариант сильнее нагрузит фигму и вот почему:

Компонент с булевым свойством — это слой текста + скрытый слой иконки. Допустим, два слоя

Вариант - это два компонента. В первом слой с текстом, во втором слои с текстом и иконкой. Три слоя. К тому же два компонента вместо одного.

Компонент с булевым свойством можно настроить и под необходимые отступы. К тому же есть nested instances. Можно использовать хоть все варианты иконок, не нагружая родительский компонент вариантами

Ответить