Компоненты: мастер и инстансы
Компонент — это шаблон элемента: меняете мастер, и все его копии обновляются разом.
Нарисовали кнопку 30 раз? Это боль при правках. Компонент решает проблему: одна кнопка-мастер — тридцать управляемых копий.
Компоненты — фундамент переиспользования в Figma. Есть мастер-компонент (main component) — оригинал, и инстансы (instances) — его копии. Изменения мастера наследуются всеми инстансами.
Создаём компонент
- Соберите элемент — например кнопку-фрейм с текстом.
- Выделите его и нажмите
Cmd/Ctrl+Alt+K(Create component). - Вокруг появится фиолетовая рамка и значок ромба — это мастер-компонент.
- Теперь скопируйте его (
Cmd/Ctrl+C/V) — копии станут инстансами.
Как работает наследование
Поменяйте в мастере цвет фона — все инстансы тут же перекрасятся. Но у инстанса можно делать локальные переопределения (overrides): например, поменять текст конкретной кнопки, не трогая остальные. Текст переопределён, а цвет и форма по-прежнему наследуются от мастера.
Мастер и инстансы ◆ Master Button (фиолетовый ромб) | +-- ◇ Instance 1 «Купить» +-- ◇ Instance 2 «Отмена» <- свой текст (override) +-- ◇ Instance 3 «ОК» меняешь цвет мастера -> все три перекрасились текст у каждого инстанса свой
Где хранить компоненты
Мастер-компоненты обычно собирают в отдельном месте — на специальной странице или фрейме «Components». Все инстансы появляются во вкладке Assets слева, откуда их можно перетаскивать в макет.
Ассеты и вставка инстансов
Все опубликованные в файле компоненты собираются во вкладке Assets (левая панель). Оттуда инстанс перетаскивается на холст мышью или вставляется быстрым поиском: нажмите Shift+I, начните вводить имя компонента — и вставьте найденный. Это намного быстрее, чем копировать существующий инстанс. Поэтому осмысленные имена компонентов важны не меньше, чем имена слоёв.
Когда вы наводите на компонент в Assets, видна его миниатюра, а структура папок повторяет слэши в именах (как и у стилей): Button/Primary, Button/Secondary попадут в папку Button. Это держит библиотеку аккуратной по мере роста.
Главные правила компонентов
Несколько принципов, которые экономят часы. Первое: создавайте компонент из уже собранного на авто-лейауте элемента — тогда инстансы будут адаптивными. Второе: никогда не правьте мастер случайно — если файл общий, изменение мастера затронет всех; для разовой правки используйте override инстанса. Третье: храните мастера в одном месте (страница или фрейм Components), а в макеты вставляйте только инстансы. Так система остаётся управляемой, и вы всегда знаете, где «оригинал».
Горячие клавиши
| Действие | Клавиша |
|---|---|
| Создать компонент | Cmd/Ctrl+Alt+K |
| Отвязать инстанс (detach) | Cmd/Ctrl+Alt+B |
| Сбросить переопределения | ПКМ → Reset all changes |
| Найти мастер | ПКМ → Go to main component |
Частые ошибки
- Правят случайно мастер вместо инстанса. Изменение мастера затрагивает всех. Убедитесь, что выделен именно инстанс (◇), а не мастер (◆).
- Отвязывают инстансы без нужды. Detach разрывает связь с мастером навсегда. Делайте это осознанно.
- Хранят мастера вперемешку с макетом. Собирайте их в одном месте — так система прозрачнее.
Совет профи: компонентизируйте то, что повторяется
Простое правило: если элемент встречается в макете больше одного раза — сделайте его компонентом. Кнопки, поля ввода, карточки, иконки, аватары, пункты меню — всё это кандидаты. Один раз потратив время на аккуратный мастер-компонент (собранный на авто-лейауте, с осмысленными именами слоёв), вы получаете десятки управляемых копий и экономите часы на каждой правке. Не откладывайте компонентизацию: переделывать готовый макет в компоненты задним числом дольше, чем строить из них сразу. И держите мастера в одном месте — на странице Components, — чтобы система оставалась прозрачной. Компоненты — это переход от рисования отдельных экранов к проектированию переиспользуемого продукта, и именно с них начинается настоящая дизайн-инженерия.
Чек-лист
- Создал мастер-компонент по Cmd/Ctrl+Alt+K.
- Сделал несколько инстансов копированием.
- Сделал локальный override текста.
- Понимаю разницу между мастером и инстансом.
Итоги. Компонент — это управляемый шаблон: мастер-компонент диктует общий вид, инстансы наследуют его, но допускают локальные переопределения. Это основа масштабируемого дизайна. Дальше добавим компонентам состояния — варианты.