Составные компоненты в Livewire
Страница приложения редко состоит из одного блока. Заголовок, меню, форма, список, подпись к блоку - у каждого куска своя разметка и своя логика. Если всё это держать в одном классе и одном шаблоне, файлы быстро разрастаются, а правка маленькой детали заставляет искать её среди чужого кода.
Livewire позволяет собирать страницу из отдельных компонентов. Компонент может стоять на странице сам по себе, а может сидеть внутри другого - как вложенный кусок с собственным классом и шаблоном. Такой кусок можно вынести на другую страницу без копирования разметки. Части могут передавать друг другу данные и обмениваться сообщениями, не смешивая всё в одном месте.
Для разработчика это похоже на привычное деление ответственности в Laravel: каждый компонент отвечает за своё, а страница лишь расставляет их и связывает. Для пользователя страница по-прежнему ведёт себя как единое целое, потому что Livewire обновляет нужные фрагменты без полной перезагрузки.
Со всем этим мы и будем разбираться в рамках данного раздела.