useState('');. Соответственно, присваивается тип string.
Но, когда пробрасываю в дочерний элемент, уже типы не видит и приходится создавать дополнительный файл и ещё раз прописывать типы.
Подскажите, пожалуйста, это так и должно быть? Как можно автоматически пробросить типы?
А если в другом компоненте где будет использоваться ActiveTest будет объявлено const [isError, setIsError] = useState(1); что пробросится в случае такого автоматического пробрасывания?
Спасибо! По именованию действительно проблема, не обратил внимая. По поводу пробрасывания — получается, пропсы надо типизировать всегда. В моём видении, было бы круто, если бы для isError один раз в родительском компоненте был объявлен тип, а дальше уже передавался по цепочке дочерним элементам. В случае же, если будет, как раз, такое пересечение в одну переменную, тогда и выдавал бы ошибку Typescript
Можешь сделать ErrorContext, в нем прокидывать isError и тип будет подцепляться сам
И так для каждого пропа каждого компонента?
Это средствами React context?
Нет, например если isError будет прокидываться к дочерним компонентам много раз, то почему бы не использовать context. А так да, для всех случаев не подойдет
Вопрос просто был не про это
Да, сейчас понял. В следующий раз внимательнее читать буду
Но использовать ActiveTest может использовать сколько угодно родителей, и кто из них важнее? Ну допустим в рамках одного проекта это еще можно было бы как-то представить, везде подсветить ошибку, а если это компонент вынесен в библиотеку, и используется в двух проектах в одном isError строка, в другом число?
Компоненты — это функции от пропсов. Они (компоненты) нужны, чтобы переиспользовать и изолировать код. Дочерние компоненты — это вложенные вызовы функций, как foo = () => bar(). Никто и ничто не может предугадать при объявлении функции/компонента, как и где ты будешь их вызывать. Это идея функций. Ты обьявил её один раз и вызываешь скол ко угодно раз, передавая разные аргументы. И для корректной работы функции в тс тебе нужно явно указать, какие параметры принимает функция (пропсы принимает компонент). Теперь перечитай свой вопрос
React thinking реально ухудшает понимание типов (((
Завязывай
Понимание типов ухудшает отсутствие опыта
React thinking — это как? Что в нём ухудшает понимание типов?
Феникса на него нет
Ты лучше объясни, почему у бэкендеров не возникает вопросов с тс? Почему вопросы только по реакту в большинстве случаев?
Кек
*в дурку его *
Потому что реакт — это модно. Сравни количество курсов «реакт за 21 час» и количество курсов «бэк на коа с монгой и графкуэл за 21 час». Сходи в чат для нубов, там от реактеров тоже вопросов навалом. И совсем не по тс, а по «как какать». Если кроме «ну ты смотри что они творят» у тебя есть другие аргументы — буду рад услышать
Ахахаха
Я читаю чат ноды. Там по типам почти нет вопросов. А весь этот джс - либо нода, либо браузер, либо нейтив... Вопрос мой по поводу бэка - прежний
Не понимаю тебя, увы
Я о том что либо у нодеров всё хорошо с ТС в их либах, либо они умеют в типы без ТС комьюнити? Одно из двух, или видишь третий вариант?
чат ноды стал чатом по тсу чтоб там было много вопросов по типизизации? или может просто новички в ноде могут начинать не на тсе а на джс? ясен хрен что в чате тса будет больше вопросов по типам чем в чате ноды, и так как реактиров как Иван заметил значительно больше - следовательно и вопросов от них больше. Короче завязывай шеймить реактеров, ни у кого нигде ничего не хорошо, нубы и клешнерукие везде есть, и по технологии они не сегрегируются
Обсуждают сегодня