Size: a a a

2020 March 18

AS

Alexey Schebelev in Svelte [svelt]
Артём Никитин
Никак не могу понять, в чём профит от $$restProps. Например $$props избавляет от лишней писанины - не нужно писать export let blabla, а $$restProps как использовать? Чтобы из него что-то взять нужно к свойствам обращаться, а тогда чем он отличается от $$props. Мало того, использование $$props ведёт к тому что эти свойства становятся "Unused")))
Вот и пример на тему UI тоже придумался: https://svelte.dev/repl/3980e844ad704222b4c2ff7b08596cac?version=3.20.1
источник

AS

Alexey Schebelev in Svelte [svelt]
Там не зря rest в названии - намекает на его первоначальный смысл.
источник

АН

Артём Никитин in Svelte [svelt]
Alexey Schebelev
Вот и пример на тему UI тоже придумался: https://svelte.dev/repl/3980e844ad704222b4c2ff7b08596cac?version=3.20.1
Но там же и $$props работает
источник

AS

Alexey Schebelev in Svelte [svelt]
в упрощенном примере да - ща усложню тогда
источник

М

Максим in Svelte [svelt]
Артём Никитин
Но там же и $$props работает
$$props выводи все пропсы, а $$restProps выводит только НЕ объявленные пропсы которые прилетают
источник

АН

Артём Никитин in Svelte [svelt]
Максим
$$props выводи все пропсы, а $$restProps выводит только НЕ объявленные пропсы которые прилетают
Так $$props и нужен чтобы не нужно было объявлять
источник

М

Максим in Svelte [svelt]
Alexey Schebelev
в упрощенном примере да - ща усложню тогда
а что лучше, объявлять экспортом или вытягивать из $$props ? ))
источник

АН

Артём Никитин in Svelte [svelt]
Максим
а что лучше, объявлять экспортом или вытягивать из $$props ? ))
Легче из $$props, но нужно экспортом
источник

AS

Alexey Schebelev in Svelte [svelt]
Артём Никитин
Так $$props и нужен чтобы не нужно было объявлять
$$props - это просто массив всех атрибутов что навесили на компонент. Отделять из этого массива свойства от атрибутов приходилось вручную и весьма не тривиальным способом(если хотелось делать это автоматически). $$restProps - упрощает жизнь - т.к. в нем содержаться только атрибуты, но не пропсы.
источник

AS

Alexey Schebelev in Svelte [svelt]
я чуть усложнил пример
источник

AS

Alexey Schebelev in Svelte [svelt]
по старой ссылке
источник

AS

Alexey Schebelev in Svelte [svelt]
нам совсем не надо чтобы в DOM у кнопки появился атрибут outline="outline" - а так было бы если бы мы там массив $$props использовали
источник

T

Th0r in Svelte [svelt]
Артём Никитин
Так $$props и нужен чтобы не нужно было объявлять
нет, $$props нужен чтобы был доступ ко всем переданным пропсам и атрибутам, но его задача не "так легче"
источник

AS

Alexey Schebelev in Svelte [svelt]
* не массив ,конечно - объект там
источник

A

Arushwl in Svelte [svelt]
Alexey Schebelev
Вот и пример на тему UI тоже придумался: https://svelte.dev/repl/3980e844ad704222b4c2ff7b08596cac?version=3.20.1
CSS class не хотит...
источник

T

Th0r in Svelte [svelt]
Arushwl
CSS class не хотит...
а ты глобальный класс передаешь?
источник

A

Arushwl in Svelte [svelt]
Неа
источник

A

Arushwl in Svelte [svelt]
Понял )
источник

A

Arushwl in Svelte [svelt]
Svelte его не хочет прост из <style> локально брать. А так-то навешивается 👍🏻
источник

A

Arushwl in Svelte [svelt]
Бомба
источник