ну тут заворачивать в какую-то функцию надо. У тебя есть поле size с каким-то типом. Ты делаешь destructuring в переменную, у которой не объявлен тип явно, значит он выводится. Я так понимаю, он выводится как 12 | 16 | 32 | 48 | 's'
У него объявлен тип через generic :-)
Ну во-первых generic там уже с конкретным значением
Типизируешь слева направо. А надо справа налево
Ещё один пример мою копилку «не использовать FC», спасибо
Мы уже выяснили, что FC ни при чем
Где?
https://t.me/ts_cool/170022
что это вообще значит?
А у fontSize какой тип? Или в чем проблема? А, понял
речь про "ты объявляешь переменную, потом присваиваешь ей тип, потом описываешь значение, которое будет содержаться в переменной" слева направо – перменная –> тип переменной -> значение переменной если же ты корректно типизируешь значение, то - во-первых, тип переменной, в которую ты положишь значение, будет вычислен автоматически - во-вторых, переменной можно не указывать тип – см. "во-первых" - в-третьих, чаще всего тайпскрипт корректнее выводит типы, чем человек
Ну в аргументах нельзя, потому что ты их затипизировал
стало понятнее?
неет) эти люди обсуждают что то посложнее) а так props: TitleProps работает идеально как я планировал
Что непонятно?
то что люди обсуждают. я просто хотел затипизировать props жестко. type TProps = { name: 5 size?: number } чтобы нельзя было const {height} = props или const {size = "string"} = props потом нашел решение: props: TProps идеально работает.
В тайпскрипте у всего есть тип. Если ты не указал его явно, то тайпскрипт попытается его вывести. Когда ты пишешь const Component: FC<Props> = () => {}, тут фигурируют два типа — слева от операции присваивания и справа от неё. Если ты явно типизируешь слева (через fc), то тайпскрипт попытается вывести типы в правой части. А из-за ко-/контр- вариантности, справа параметры могут быть ШИРЕ ПО ТИПУ, а возвращаемое значение может быть УЖЕ ПО ТИПУ. Так работает тс. Если же ты типизируешь справа от операции присваивания, то тайпскрипу не остаётся манёвра для изъёбов — он работает так, как ожидается.
большое спасибо за объяснение
Обсуждают сегодня