В том, что это непонятная градация. Вот что означает, к примеру, скилл С++ сеньёр? Чем он отличается от мидла и джуна? А как делать градацию джунам/мидлам? Их скилы не могут быть выше джуна/мидла соответственно? Допустим, это даже логично, но как тогда второстепенные навыки отметить?
Вот вы будете перебирать резюме JS разработчиков. Допустим их 100 штук. А вам нужен такой чтоб его не обучать. Профи. Будете искать глазами теги middle/senior.
Зачем? Если позиция на сеньёра, то начальный фильтрацию сделают ХРы и останутся резуме только от сеньёров по их мнению. А там уже смотришь основные и второстепенные навыки и всё. И где и сколько работал, конечно же.
Но даже если по какой-то неведомой причине тебе придётся подменять ХРа, то в любом случае на позицию сеньёра тебе будут кидать либо те, кто уверен в своих силах и там будет соответствующее резюме, либо те, кто на "прокатило" кинул.
repcolding, скорее нет, чем да, но это редкие кейсы, где это имеет реальный смысл. К примеру, Ant Design использует это и с кастомной типизацией очень даже удобно.
Если это имеет смысл и этим удобно пользоваться, то почему бы и нет?
lexstile, а зачем ты возвращаешь кнопку из хука? Я понимаю если бы это была какая-нибудь нотификашка из готового компонента. Тут да, логика понятна, но кнопка?
GNG999, а зачем тебе мокать сам таймер? От этого больше вреда, чем пользы. Откуда таймер берёт время и чему оно равно? На данный момент самым логичным решением было бы использовать фейковые таймеры, но это невсегда возможно, к сожалению, поэтому надо смотреть.