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

Приветствую! Какие есть минусы/недостатки использования typescript на vue3?

31 ответов

62 просмотра

плюсы: typescript минусы: typescript

такие же, как и при использовании TS без вью

Фәнил-Зарип Автор вопроса

Ну т.е., нет такого, что какие-то вещи плохо поддерживаются и т.д.? Читал доку vue, там про ограничения при использовании пропсов было. Поэтому интересно, усложнит ts процесс разработки или нет

смотря какая версия vue3 последний минор неплохо прокачал еще дальше поддержку TS-а во vue до нее были некоторые сложности

Фәнил Зарип
Ну т.е., нет такого, что какие-то вещи плохо подде...

ограничение есть, да пропсы - это, наверное, единственный неудобный момент на TS, потому что вью зачем-то до сих пор пытается привести интерфейсы к реальным рантайм-конструкторам, что у него получается крайне плохо ну и withDefaults - тоже костыль, с этим нужно просто смириться в остальном никаких проблем нет и все хорошо поддерживается, даже слоты

Denis Chernov
ждешь defineProp?

мне кажется, что вью уже не сможет нормально решить эту проблему, defineProp привнесет только новую - теперь нельзя будет прописать единый интерфейс и удобно его объявить как пропсы, придется делать это по одному нормальное решение было бы отказаться от конвертирования интерфейсов в рантайм-конструкторы, ну и можно еще допилить defineComponent, чтобы возможно было что-то типа export default defineComponent((props: AnyInterface) => { /* setup */ });

Artyom Tuchkov
мне кажется, что вью уже не сможет нормально решит...

мы уже малорвероятно от концепции "компилятора" уйдем

Denis Chernov
мы уже малорвероятно от концепции "компилятора" уй...

именно так, а в script setup с этим никак особо не извернуться, поэтому самое вероятное, что мы придем к деструктуризации пропсов https://github.com/vuejs/rfcs/discussions/502

Artyom Tuchkov
мне кажется, что вью уже не сможет нормально решит...

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

Artyom Tuchkov
мне кажется, что вью уже не сможет нормально решит...

а вариант const propName = defineProp<Props<PropName>>() не подойдет?

Artyom Tuchkov
именно так, а в script setup с этим никак особо не...

вот этот пропосал мне меньше defineProp нравится

Denis Chernov
бтв defineComponent буквально почти так и позволяе...

позволяет, но такой синтаксис обязывает возвращать из setup JSX/рендер-функцию, а не обычный объект

Artyom Tuchkov
именно так, а в script setup с этим никак особо не...

вроде и щас это работает const { code, lang, result } = defineProps<{ code: string; lang: string; result?: string }>() или это не то?

Иван М
так не работает

ну вот я щас попробовал, все работает, без флагов каких-то

doroved
вроде и щас это работает const { code, lang, resul...

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

doroved
ну вот я щас попробовал, все работает, без флагов ...

попробуй поменять снаружи пропс и увидишь, что изменения не отобразятся в дочернем компоненте

Artyom Tuchkov
попробуй поменять снаружи пропс и увидишь, что изм...

да вроде рактивно, либо я не шарю) https://play.vuejs.org/#eNp9UsFOwzAM/ZWQS0Eaq9BuXTcJ0CTgABNM4pJL1bpdRppESVomVf13nHQtE0K7xe/ZzrOfO3qv9bxtgCY0tbnh2hELrtFrJnmtlXGkIwZK0pPSqJpEmBpN1A6sO+Hz2Ae+U7RkkslcSeRqW5GVr7+OnkAIRT6VEcVVdMNkGg/f4UcYOKi1yBxgREi6v1t3XSju+zTGKKBc6saR9rZWBYgVo8gzOlBBSILACJMYiTSe2tIZdRY1lbyaH6ySOG7nKxnNVa25APOmHUfNjCYkMJ7LUPL3S8CcaWA24vke8q9/8IM9eozRrQELpgVGJ85lpgI30JuPVzjieyJxpEZg9gXyHawSjdc4pD00skDZZ3lB7XNwhstqZzdHB9KOQ3mhPrMP+YyiU48XRv+Vu5gvQh2TPW5xdPnvvRCRSb99h21w9YP9Jw/xBAoouYStUdqmAU2IdQZlLrHz+vrSPaQFb0kuMmt9+7AaRLsOm/QoKo2RH4rO7O5/AOCx9Lk=

короч то что ты написал в defineProps пропсы и так известны vue-хе и в рендере ему не нужна вообще приписка props.SMTH

реактивно, но только поэтому https://github.com/vuejs/core/blob/main/packages/sfc-playground/src/App.vue#L37 у них в сэндбоксе всегда включены все эксперименталки

Denis Chernov
короч то что ты написал в defineProps пропсы и так...

Что плохого использовать объект с пропсами в темплейте? Наглядно видно откуда он пришел (если нет props. — переменная компонента)

Artyom Tuchkov
реактивно, но только поэтому https://github.com/vu...

странно, в своем коде на пропсы подаю другие значения, оно реактивно в интерфейсе, может это из-за hmr update складывается обманчивое впечатление

doroved
странно, в своем коде на пропсы подаю другие значе...

может у тебя включен экспериментальный propsDestructure в конфиге, иначе оно просто не может работать, т.к. после деструктуризации это сырое статичное значение

Artyom Tuchkov
может у тебя включен экспериментальный propsDestru...

дефолтный конфиг при установки таури, не трогал

Denis Chernov
покажи код которым проверял

да просто в шаблоне меню у пропсов значения и оно реактивно в интерфейсе <CodeBlock code="hello" lang="javascript" result="alert('hello bro')" /> в компоненте CodeBlock const { code, lang, result } = defineProps<{ code: string; lang: string; result?: string }>()

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

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

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
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
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта