madc0de, то, что ты пытаешься сделать выше, это лютый говнокод. Если тебе так надо ради какой-то фигни менять класс (причём ещё и в цсс придётся это делать), то либо форкай пакет, либо в тупую скопируй себе срц.
MrDevil131, вот поэтому и надо кидать пример текста со всеми кейсами сразу. По какой причине ты вообще хтмл регексом разбираешь? Ну ладно, допустим, зачем гемороится с какими-то наборами цифр, когда у тебя все номера под хрефами лежат?
Евгений Журов, что касается основного вопроса, то юзСтейт не принимает мап, потому что ты не можешь сделать этот мап ничем иным, кроме Map<any, any>, а в дженерике может быть передан, к примеру, Map<string, string>.
Можно сделать так:
const Form = <T extends Map<unknown, unknown>>({onSubmit}: FormProps<T>) => {
const [formData, setFormData] = useState<T>(new Map() as T)
Но, по факту, внутри этого компонента у тебя будет нетипизированный мап, так что учитывай это.
Во-вторых, на свой страх и риск:
https://marketplace.visualstudio.com/items?itemNam...
https://marketplace.visualstudio.com/items?itemNam...