Generic StateObject описывает семейство типов; если его параметр обязателен, нужно указать конкретный тип, например StateObject<User>.
Чем generic StateObject отличается от обычного типа и почему нельзя просто объявить переменную типа StateObject без передачи ему типа-параметра?
Generic StateObject описывает семейство типов; если его параметр обязателен, нужно указать конкретный тип, например StateObject<User>.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Generic StateObject описывает семейство типов; если его параметр обязателен, нужно указать конкретный тип, например StateObject<User>.
Параметр задаёт, какие данные находятся внутри структуры, и сохраняет связь между полями. Значение по умолчанию вроде StateObject<T = unknown> позволяет опустить аргумент, но меняет удобство использования. Без определения типа нельзя утверждать, какие именно поля зависят от T.