Size: a a a

2020 October 02

DK

Dan Kozlov in Svelte [svelt]
Alexander Ponomarev
рандом может быть плох для SSR и гидрации
Чем?
источник

AP

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

DK

Dan Kozlov in Svelte [svelt]
Кирилл Спасибович
Получается весь смысл оборачивания инпута в компонент это спрятать стили и логику генерирующую id ?
Ну, подстановка атрибутов еще.
Хз, как вы с формами работаете. Я для себя написал мини-Formik, и у меня инпут-компонент выглядит намного сложнее. Он прямо очень оправдан как отдельный.
источник

DK

Dan Kozlov in Svelte [svelt]
источник

DK

Dan Kozlov in Svelte [svelt]
Alexander Ponomarev
тем что компоненты будут инстанцироваться на сервере и на клиенте и рандомные значения не совпадут когда должны
А чем это плохо? Это делается только для ассоциации лейбла и инпута, больше ни за чем. Просто чтобы не было проблем по части SR и a11y.

А регидрация в свелте и так целиковая, какая разница, что будет сперва один id, а потом другой.
источник

AP

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

МТ

Марк Танащук... in Svelte [svelt]
Pavel 🦇 Malyshev
я советую, всегда включать immutable: true
А можно опшном для всего приложения включить?
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Марк Танащук
А можно опшном для всего приложения включить?
источник

КС

Кирилл Спасибович... in Svelte [svelt]
А как он используется ?
источник

КС

Кирилл Спасибович... in Svelte [svelt]
Как-то замороченно мне показалось с контекстами, можно же массив объектов сделать и через each пройтись ?
источник

DK

Dan Kozlov in Svelte [svelt]
Кирилл Спасибович
А как он используется ?
Все виды инпутов я храню в отдельных компонентах.
Отдельно храню компонент Field, который принимает пропсы, связанные с конкретным инпутом, делает вёрстку филда (подсказки по филду, текст ошибки и пр.) и создаёт контекст филда.
И отдельно храню компонент Form, который инкапсулирует общую логику формы (валидация, сабмит).
источник

DK

Dan Kozlov in Svelte [svelt]
Кирилл Спасибович
Как-то замороченно мне показалось с контекстами, можно же массив объектов сделать и через each пройтись ?
Я когда-нибудь заопенсоршу это, может быть.
Я хотел красивое реюзабельное гибкое решение. В итоге в достаточно большом приложении (40+ экранов, вся логика на клиенте) использую только это решение во всех весьма кастомных формах — от модалок с созданием сущностей и авторизации до каких-то in-table редактирований.
источник

КС

Кирилл Спасибович... in Svelte [svelt]
Dan Kozlov
Я когда-нибудь заопенсоршу это, может быть.
Я хотел красивое реюзабельное гибкое решение. В итоге в достаточно большом приложении (40+ экранов, вся логика на клиенте) использую только это решение во всех весьма кастомных формах — от модалок с созданием сущностей и авторизации до каких-то in-table редактирований.
Круто

Я тут не понял что дает type, ведь всё равно будет строка с e.target.value, даже если number воткнуть

А другие инпуты это number, range, checkbox, radio ?
источник

DK

Dan Kozlov in Svelte [svelt]
Кирилл Спасибович
Круто

Я тут не понял что дает type, ведь всё равно будет строка с e.target.value, даже если number воткнуть

А другие инпуты это number, range, checkbox, radio ?
password, email, date
источник

DK

Dan Kozlov in Svelte [svelt]
В моей реализации чекбокс и радио — в отдельных компонентах, у них совсем отличается логика. Радио-инпут бессмысленно показывать один, надо как в случае с select выводить весь набор опций; чекбокс — это бул, и надо смотреть на свойство checked, а не value.
источник

КС

Кирилл Спасибович... in Svelte [svelt]
Dan Kozlov
В моей реализации чекбокс и радио — в отдельных компонентах, у них совсем отличается логика. Радио-инпут бессмысленно показывать один, надо как в случае с select выводить весь набор опций; чекбокс — это бул, и надо смотреть на свойство checked, а не value.
https://svelte.dev/repl/f0cef0ffde3b4ec899cb35d788cb1ae2

А как позиционируешь, адаптируешь что-то в css когда это компоненты а не теги ?
источник

AP

Alexander Ponomarev in Svelte [svelt]
Dan Kozlov
В моей реализации чекбокс и радио — в отдельных компонентах, у них совсем отличается логика. Радио-инпут бессмысленно показывать один, надо как в случае с select выводить весь набор опций; чекбокс — это бул, и надо смотреть на свойство checked, а не value.
ну чекбокс не совсем бул он бывает indeterminate, и с точки зрения нативных форм можно делать чекбоксы с одинаковым именем и получать массивы включеных значений
источник

DK

Dan Kozlov in Svelte [svelt]
Кирилл Спасибович
https://svelte.dev/repl/f0cef0ffde3b4ec899cb35d788cb1ae2

А как позиционируешь, адаптируешь что-то в css когда это компоненты а не теги ?
У меня есть только стилизация размера (происходит это в компоненте филда, тоже пропсы). Но я этим не пользуюсь.
В остальном цветами заведует сам компонент (dnager/success).

Я пользуюсь бульмой, поэтому классы пишу очень редко.
источник

DK

Dan Kozlov in Svelte [svelt]
Alexander Ponomarev
ну чекбокс не совсем бул он бывает indeterminate, и с точки зрения нативных форм можно делать чекбоксы с одинаковым именем и получать массивы включеных значений
Нативный чекбокс только бул. Кастомными не пользуюсь, некошерно.
Массивом чекбоксов не пользуюсь.

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

КС

Кирилл Спасибович... in Svelte [svelt]
Dan Kozlov
У меня есть только стилизация размера (происходит это в компоненте филда, тоже пропсы). Но я этим не пользуюсь.
В остальном цветами заведует сам компонент (dnager/success).

Я пользуюсь бульмой, поэтому классы пишу очень редко.
А позиционирование ?

margin, flex, position, left, right, top, bottom, width, height, align-self, justify-self
источник