object
нет categories
и у тебя нет проверки, что там именно IGoods
, а не object
. useState({} as IGoods);
, но таким образом ты посылаешь нахрен typescript и открываешь дорогу ошибкам. Лучше не надо.null
, описанный Александр - единственно верный.useState<IGoods>();
без лишних телодвижений, и тогда в state
у тебя будет IGoods | undefined
. type Desc = {
view: 'labeled'
label: string
} | {
view?: undefined
}
export interface ModalProps extends CuiModalProps {
namePopup?: string
isOpen?: boolean
withBorder?: boolean
className?: string
}
export const Component = (pros: ModalProps & Desc) => { ... };
<текущая дата> - (<начальный остаток таймера> - <запомненный остаток>)
и дальше как обычно, либо переписываешь <начальный остаток таймера>
как <запомненный остаток>
и ставишь дату старта как <текущая дата>
.
...Сейчас вот подумал, и наверное зря я уже так: такой подход соответствовал духу js 15 лет назад, при котором если "пользователь кода" ошибается по мелочи - это простительно,код должен уметь отработать правильно (или хоть как-то) в максимально возможном количестве случаев; однако современный подход в js стал куда строже и теперь уже кидают ошибки даже по мелочи(типа умножения bigint на number), что объяснимо использованием языка по куда более серьёзным назначениям, хоть и убивает чувство былой "свободы"...
Так что теперь буду кидать эксепшены на такое дело.)