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

Привет, а как проверить что какой-то any | unknown пришедший

из JSON.parse например, является элементом enumа? Набросал, но говорит boolean ты, а не predicate https://www.typescriptlang.org/play?#code/KYOwrgtgBAimCGAbAlgFwJ4BlgDdiKgG8AoKMqAVRAGsQB7AdxCgF4oAGAGlPM0dagBGbuSgBZYABNkkAQCYR5ABLIA5gAsBAZm4BfYsWQhUwAE4AzeAGNgUAJIBnOEjRZc+IjzIAKHEjDAAFxQYDT0TACUwX6IAVDIDrAIKBjYeIgA3MT6xFZ0IA6o8U7Jrmn4wY7OKW7pAr7+wBGsAHxQAPIARgBWwFaoAHQxAQ7e1WXuiBEDRlaxksCjw7bwieOpkxFZhuZQ3gnrtfje7BHNJKJ5BXSIwAOIdKreAOTowPAADpxQAHoA+j9nhFslB8A5bBdyFcHDc7g8ns96B9gN8AFR-VFA7JAA

19 ответов

14 просмотров

вот так

Так вроде можно только если элементы энума строки Потому что с числами в values будут и имена этих энумов

Я кстати обычно видел функции которые через if, switch или объект мапали значение к конкретному энуму, что то никогда не задумывался ОК это или нет

Sergey-S Автор вопроса

ага, будут имена, и числа, но я решил это опустить, не хочется здоровенный свитч, enum еще несколько, и они меняются, можно добавить если value типа number и проверку на нахождение в массив кстати, если значения циферки

Sergey-S Автор вопроса

спасибо, в моем кейсе авто вывод типа все портит?

Предикаты нужно явно описывать на месте, обычные функции не кастуются к предикатам. И вообще, const foo: Foo = ... — плохая практика, не надо так

То, что ты написал вроде норм. Плохая практика const foo = ... as Foo

это суперплохая) а const foo: Foo — просто плохая)

Однажды ты, кажется, писал и что const Component: FC ... плохая практика. Лично мне кажется что это действительно ты странность какую-то пишешь, говоря что это плохая практика.

Да, писал. Почему странность?

Потому что лично мне это не кажется плохой практикой. Да и не только мне, кстати

да, не только, мы начинали спор насчет этого, в конце которого наши сообщения удалили =))

«Лично» и «кажется» — это хорошо, я не против. Аргументы?

А зачем каждому компоненту children? Который не все компоненты используют)

Меня это, кстати, особо не смущает. Но вполне можно без children тип написать. Вот единственный случай когда я не юзаю FC, это дженерики. В этом случае я да, пишу что-то вроде <T>(props: {t: T}) => React.ReactElement

тебя это не смущает ровно до тех пор, пока ты не проведёшь некоторое количество времени в дебаге “почему передаю ребёнка, а он не рендерится, в сигнатуре же написано, что ребёнок принимается"

Это уже немного из пальца высосано. За несколько лет ни разу еще именно такого случая не было. По компоненту или документации (комментариям, исходникам и т.д.) ведь и так будет понятно, рендерит ли он children. Хотя, как я сказал, можно свой FC сделать без children

- прочитать неправильную сигнатуру компонента - ошибиться - открыть документацию - найти - увидеть, что сигнатура неправильная - использовать компонент правильно или - прочитать правильную сигнатуру - использовать компонент правиьно

Разумеется да, второй вариант лучше, с этим не поспоришь

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта