Size: a a a

Веб-компоненты

2020 December 03

SK

Serhii Kulykov in Веб-компоненты
> Если ли, например, какие-то фреймворки или библиотеки, которые не умеют в проперти

Есть. Реакт)
источник

АР

Алексей Родионов... in Веб-компоненты
Serhii Kulykov
> Если ли, например, какие-то фреймворки или библиотеки, которые не умеют в проперти

Есть. Реакт)
Реакт не умеет брать значения проперти или устанавливать? :-/
источник

SK

Serhii Kulykov in Веб-компоненты
устанавливать не умеет, имею в виду. брать значение все должны уметь, проперти - обычный геттер
источник

SG

Sergey Garin in Веб-компоненты
Алексей Родионов
Реакт не умеет брать значения проперти или устанавливать? :-/
Неа, только аттрибуты. Проперти можно через ref ставить
источник

АР

Алексей Родионов... in Веб-компоненты
То есть, если я хочу, чтобы мой веб-компонент можно было использовать и в React, мне нужно ещё и rich-проперти (массивы и объекты) через JSON.stringify рефлектить в атрибуты?
источник

SG

Sergey Garin in Веб-компоненты
Алексей Родионов
То есть, если я хочу, чтобы мой веб-компонент можно было использовать и в React, мне нужно ещё и rich-проперти (массивы и объекты) через JSON.stringify рефлектить в атрибуты?
Не обязательно, есть 2 пути:
1) через аттрибуты - устанавливаются сразу при маунте, поддержка ssr
2) через проперти - необходимо получит ссылку на элемент(React.useRef), не работает на ssr, можно установить проперти только после маунта/рендера
источник
2020 December 04

SK

Serhii Kulykov in Веб-компоненты
в Chrome 88 уберут origin trial для web components v0

https://blog.chromium.org/2020/12/chrome-88-digital-goods-lighting.html
источник
2020 December 06

АР

Алексей Родионов... in Веб-компоненты
Если у веб-компонента проперти read-only, никак же запретить его сеттить из вне нельзя? Только с помощью JSDoc указать, что оно read-only?
источник

НС

Никита Сковорода... in Веб-компоненты
Алексей Родионов
Если у веб-компонента проперти read-only, никак же запретить его сеттить из вне нельзя? Только с помощью JSDoc указать, что оно read-only?
Сеттер написать?
И трейс смотреть?
источник

НС

Никита Сковорода... in Веб-компоненты
Костыль, правда
источник

НС

Никита Сковорода... in Веб-компоненты
Ну или написать сеттер, который кидает ошибку, а сеттить приватной функцией
источник

НС

Никита Сковорода... in Веб-компоненты
Тытюбик переписали уже?
источник

SK

Serhii Kulykov in Веб-компоненты
Давно уже переписали, может были какие-то другие проекты
источник

НС

Никита Сковорода... in Веб-компоненты
А, я пропустил. Или забыл :-)
источник

АР

Алексей Родионов... in Веб-компоненты
Что-то с JSDoc всё не так очевидно, как мне казалось. )
источник

АР

Алексей Родионов... in Веб-компоненты
@kulykovserhii web-component-analyzer не понимает @readonly?
источник

АР

Алексей Родионов... in Веб-компоненты
У меня тут вообще тяжёлый случай.

Конструкция на скриншоте не верна же?
источник

АР

Алексей Родионов... in Веб-компоненты
1. Как сделать, чтобы @readonly применялся и к проперти и к атрибуту?

2. Технически атрибуты всегда строковые (хотя формально я как автор знаю оригинальный тип). Но так как у меня булев атрибут, он либо присутствует в HTML-разметке (и у него как бы нет значения), либо отсутствует вообще. Какой тип атрибуту прописывать?

3. boolean или Boolean? В чём разница? В документации к JSDoc с маленькой буквы, в документации к web-component-analyzer с большой.
источник

SK

Serhii Kulykov in Веб-компоненты
readonly свойство - просто геттер, если есть .d.ts файл - то web-component-analyzer его понимает
источник

SK

Serhii Kulykov in Веб-компоненты
я обычно использую тип boolean, как в TypeScript
источник