Size: a a a

2020 September 10

AP

Alexander Ponomarev in Svelte [svelt]
Pavel 🦇 Malyshev
нет, это не нарушение
ну либо ты не знаешь что такое инкапсуляция либо я не знаю что на это ответить
источник

AP

Alexander Ponomarev in Svelte [svelt]
ты делаешь какие-то предположения о блекбоксе, при этом сегодня оно работает а завтро блекбокс меняют и оно не работает
источник

AP

Alexander Ponomarev in Svelte [svelt]
и блекбокс от твоих наворотов не может избавиться и не знает о них
источник

AP

Alexander Ponomarev in Svelte [svelt]
а в случае с класнеймом он сам должен взять этот класснейм и повесить на себя
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Alexander Ponomarev
ну либо ты не знаешь что такое инкапсуляция либо я не знаю что на это ответить
Ладно, раскрою свою точку зрения. Компонент меняется снаружи по месту и врапится другим компонентом. сам компонент "в себя" ничего не пропускает. это хак - да, но при этом сам компонент не имеет никаких "дыр", через которые ему "официально" может прийти что угодно. используя className мы как бы официально даем возможность владельцу компонента (родительскому компоненту) модицифировать компонент как ему захочется. В случае с этим хаком, владелец компонента сам несет ответственность за любые колизии ,которые учудил.
источник

AP

Alexander Ponomarev in Svelte [svelt]
дак в этом и суть
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Alexander Ponomarev
ты делаешь какие-то предположения о блекбоксе, при этом сегодня оно работает а завтро блекбокс меняют и оно не работает
да именно так и это хорошо для компонента, который пытаются менять
источник

AP

Alexander Ponomarev in Svelte [svelt]
что мы официально даем возможность и вносим это в интерфейс
источник

КС

Кирилл Спасибович... in Svelte [svelt]
идеологически может быть это звучит и неплохо, но на практике это куда более хрупкий подход
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Alexander Ponomarev
и блекбокс от твоих наворотов не может избавиться и не знает о них
да именно так и не несет за это ответственность
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Alexander Ponomarev
а в случае с класнеймом он сам должен взять этот класснейм и повесить на себя
нет никакого "себя" и чтобы тебе понять как застилизовать компонент, тебе все равно придется лезть и смотреть как устроена разметка внутри
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
потому что так как рут-тега нет, то повесить className автор компонента мог куда угодно
источник

AP

Alexander Ponomarev in Svelte [svelt]
Pavel 🦇 Malyshev
нет никакого "себя" и чтобы тебе понять как застилизовать компонент, тебе все равно придется лезть и смотреть как устроена разметка внутри
обычно есть соглашение что класснейм прилетает на верхний дом элемент для его позиционирования
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Alexander Ponomarev
обычно есть соглашение что класснейм прилетает на верхний дом элемент для его позиционирования
нет верхнего дом элемента, хватит этих реакт замашек
источник

AP

Alexander Ponomarev in Svelte [svelt]
если нет рут тега то компонент игнорирует пропс класснейм
источник

AP

Alexander Ponomarev in Svelte [svelt]
и запрещает его себе передавать
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
ну вот мы тут пришли уже к каким-то мифическим соглашениям. и дальше по наклонной.
источник

AP

Alexander Ponomarev in Svelte [svelt]
описывается в интерфейсе пропсов
источник

AP

Alexander Ponomarev in Svelte [svelt]
описывается в интерфейсе пропсов
источник

AP

Alexander Ponomarev in Svelte [svelt]
тайпскрипт валидирует
источник