Вот имеет смысл тебе открыть полностью файл и попытаться разобраться что именно тебе не понятно, то есть какие сущности не ясны вообще.


// Массив кнопок, который мы в процессе набиваем и возвращаем. Сейчас пустой. const buttons: JSX.Element[] = [] // Проверяем есть ли вообзе входящий объект. Если нет, то дальнейшая логика вообще отсутствует if (object) { // Получаем свойства объекта const { id: taskId, Timers } = object // Получаем свойства из контекста (в данном случае текущего пользователя) const { user: currentUser } = context // Массив всех активных таймеров const activeTimers = Timers ? Timers.filter((n) => n.stopedAt === null) : [] // Получаем активный таймер, если текущий пользователь вообще имеется const activeTimer = currentUser && activeTimers.find((n) => n.CreatedBy?.id === currentUser.id) // Если есть активная задача if (activeTimer) { const { id: timerId } = activeTimer // То добавляем кнопку в массив возвращаемых buttons.push( <IconButton key="stop" value={timerId} onClick={onClickUpdateTimer} disabled={loading} > <StopIcon /> </IconButton> ) } // Иначе else { // Добавляем кнопку для старта задачи buttons.push( <IconButton key="start" value={taskId} onClick={onClickCreateTimer} disabled={loading} > <StartIcon /> </IconButton> ) } }
Что здесь не ясно?

Вот здесь наверняка тебе все ясно. Но ты испугался чего-то увиденного за пределами поставленной задачи вообще. И все: "Я того не понимаю, поэтому и тут не понимаю".