разбор компонента

Карточка коэффициента

Показывает текущую цену, направление изменения, selection и suspend без потери доступности.

Состояния компонента

ожиданиеожидание
значение изменилосьзначение изменилось
выбрановыбрано
приостановленоприостановлено
ожидание подтвержденияожидание подтверждения

Иллюстрация по теме

Визуальный ориентир помогает быстрее считать сценарий страницы и не оставлять компонент абстрактным.

Дашборд спортивного интерфейса с карточками матчей и показателями
Иллюстрация по теме: tile с коэффициентом должен сохранять контекст, даже когда данные меняются часто.

Контракт состояния рынка

Inputsselection state, version, availability
Outputsselection intent, accessible status
Failure modefalse enabled state, noisy live announcement
OwnershipUI владеет представлением и recoverable context; финальное бизнес-состояние подтверждает серверный контракт.

Реализация без утечки терминов поставщика

Компонент считается самостоятельной границей только если команда может назвать его входы, выходы и невозможные состояния. Если он требует читать provider-specific поля напрямую или хранит финальный статус операции только локально, граница выбрана слишком поздно.

При изменении контракта сначала обновляется state model и совместимость, затем визуальный слой. Это уменьшает риск ситуации, когда новый UI уже ожидает поле или статус, которого старая версия API не гарантирует.

Связанные разборы

Приёмочные проверки для актуальное-состояний

  • Цена имеет явный version/freshness context.
  • Suspend блокирует действие, но не стирает контекст пользователя без необходимости.
  • Рост/падение не кодируется только цветом.
  • Live region не объявляет каждый provider tick и не создаёт аудио-шум.
  • Selected и pending состояния визуально различимы.
  • После server reject компонент возвращается в состояние, соответствующее актуальному рынку.

Почему карточка не подтверждает операцию

Кнопка коэффициента — маленький stateful-компонент с высокой ценой неправильного состояния. Визуальный эффект изменения цены вторичен по отношению к корректной доступности и authority.

При review команда проверяет не название компонента, а его инварианты: какие данные он имеет право считать финальными, что обязан показать при деградации и как возвращается в согласованное состояние после сбоя.

Цена меняется, контекст остаётся

LiveOddsTile тестируется серией переходов: stable → up → down → suspended → live. Визуальная реакция может быть быстрой, но значение, focus и выбранное состояние не должны прыгать вместе с каждым tick. Если рынок входит в betslip, reprice обрабатывается уже на границе подтверждения операции.

Компонент получает продуктовый market state, а не provider-specific payload. Это позволяет менять источник данных без переписывания accessible name, keyboard behavior и ошибок UI.

См. состояние рынка → элемент коэффициента.

Цена меняется часто, контекст терять нельзя

У live-odds tile простая внешняя форма, но сложный поведенческий контракт. Пользователь должен видеть изменение цены, понимать suspend и не сомневаться, какой исход сейчас выбран. Именно поэтому компоненту нужна своя state model, а не прямое чтение provider flags. За деталями стоит перейти к разбору кнопки коэффициента и материалу про распределение обновлений в реальном времени.