miliko0022
@miliko0022
Краткие личные сведения, включая интересующую вас

Почему начальное значение хуков не может быть задано пустым объектом?

У меня есть этот setProd Hooks

export interface faceProduct {
  readonly title: string;
  readonly prodState: string;
  readonly shipping: string;
  readonly sold: string;
  readonly alt: string;
  readonly material: string;
  readonly location: string;
  readonly src: string[];
  readonly color: string[];
  readonly saiz: string[];
  readonly price: string;
}

export interface faceProductList extends faceProduct {
  readonly id: string;
  readonly to: string;
}

 const [prod, setProd] = useState<faceProductList>({});


Я хочу, чтобы начальные значения были пустым объектом. Но я получаю ошибку ..
Но если написать.
const [prod, setProd] = useState<faceProductList>(Object);

все работает с чем это связано.
  • Вопрос задан
  • 292 просмотра
Решения вопроса 1
rockon404
@rockon404 Куратор тега React
Frontend Developer
с чем это связано

с тем же с чем и:
let s: string;

s = 182;


Исправить можно, например, так:
const [prod, setProd] = useState<FakeProductList | null>(null);

if (!prod) {

}

return (/* ... */);


Обратите внимание, что интерфейсы принято называть с большой буквы, а слово fake, пишется с буквой k.
Атрибут readonly - лишнее.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы