key: keyof typeof newForm..
Ты сам массив ключей типизируй
попробуй ( key as .... )
получилось совместить все 3 совета в один... но почему так усложнять то, где не могут приходить "левые" значения((
Object.keys сбрасывает типы ключей на string
да я когда-то и через for (key in obj) переберал, то вроде точно так же мучился... Хотя там уже вообще бред, доказывать ему, что именно ключ будет в key
лучше кстати не мутировать объекты, тем более это немного странно.
peresmotri logiku, i ne delai tak
я создаю копию, а потом переприсвоил. Т.е. это я мутировал копию.
Почему не написать (key: string) => ... ?
он тогда не верит, что key совпадет с ключами объекта. Пишет, что может быть там любое значение.
на нижнем квадрате ошибка. Она одна и та же, хоть string, хоть any, хоть ничего) Проблему я уже решил... (Object.keys(newFormsEditModeStatuses) as Array<keyof typeof newFormsEditModeStatuses>).forEach((key) => ...
nu potomu 4to eto ne array, dlya etogo i nujen TS
Напиши так в forEach: forEach((key: keyof typeof newFormsEditModeStatuses)
я так пробовал) это первый совет, который мне здесь дали...
нет, работает только если типизировать сам массив. Ключ я так и не смог типизировать
Малость тупо, но первое что приходит а голову (Object.keys(something) as string[])
А вообще похоже, что у тебя определений типов не хватает, возможно можно доставить? Я не у компа, так что сорри точнее не соориентируй, загугли
ничего, спасибо. Я же решил то проблему. Но было бы хорошо, если бы твой более простой способ работал. Но не проходит(( ему строки мало, он хочет, чтобы там именно название ключей свопадали...
ему оказалось надо конкретно as Array<keyof typeof newFormsEditModeStatuses>
Точно надо скорее статью дописывать)
Обсуждают сегодня