169 похожих чатов

Почему подводит меня тс?(

20 ответов

20 просмотров

ну тут заворачивать в какую-то функцию надо. У тебя есть поле size с каким-то типом. Ты делаешь destructuring в переменную, у которой не объявлен тип явно, значит он выводится. Я так понимаю, он выводится как 12 | 16 | 32 | 48 | 's'

У него объявлен тип через generic :-)

Ну во-первых generic там уже с конкретным значением

Типизируешь слева направо. А надо справа налево

Ещё один пример мою копилку «не использовать FC», спасибо

Мы уже выяснили, что FC ни при чем

Где?

https://t.me/ts_cool/170022

js - one love- Автор вопроса

что это вообще значит?

А у fontSize какой тип? Или в чем проблема? А, понял

нуууу, смотря, какая деструктуризация, судя по всему

речь про "ты объявляешь переменную, потом присваиваешь ей тип, потом описываешь значение, которое будет содержаться в переменной" слева направо – перменная –> тип переменной -> значение переменной если же ты корректно типизируешь значение, то - во-первых, тип переменной, в которую ты положишь значение, будет вычислен автоматически - во-вторых, переменной можно не указывать тип – см. "во-первых" - в-третьих, чаще всего тайпскрипт корректнее выводит типы, чем человек

Ну в аргументах нельзя, потому что ты их затипизировал

а с FC можно

стало понятнее?

js - one love- Автор вопроса

неет) эти люди обсуждают что то посложнее) а так props: TitleProps работает идеально как я планировал

Что непонятно?

js - one love- Автор вопроса

то что люди обсуждают. я просто хотел затипизировать props жестко. type TProps = { name: 5 size?: number } чтобы нельзя было const {height} = props или const {size = "string"} = props потом нашел решение: props: TProps идеально работает.

В тайпскрипте у всего есть тип. Если ты не указал его явно, то тайпскрипт попытается его вывести. Когда ты пишешь const Component: FC<Props> = () => {}, тут фигурируют два типа — слева от операции присваивания и справа от неё. Если ты явно типизируешь слева (через fc), то тайпскрипт попытается вывести типы в правой части. А из-за ко-/контр- вариантности, справа параметры могут быть ШИРЕ ПО ТИПУ, а возвращаемое значение может быть УЖЕ ПО ТИПУ. Так работает тс. Если же ты типизируешь справа от операции присваивания, то тайпскрипу не остаётся манёвра для изъёбов — он работает так, как ожидается.

js - one love- Автор вопроса

большое спасибо за объяснение

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта