Size: a a a

2020 September 16

МТ

Марк Танащук... in Svelte [svelt]
Pavel 🦇 Malyshev
Вообще, кажется был разговор о том, что опциональные пропсы должны юзаться через $$restProps
У меня другое - у меня есть 2 дочерних компонента которые используют один объект объявленный в родительском компоненте.

Один компонент использует 1 2 и 4 свойства, а второй компонент использует 3 и 4 свойства объекта.
источник

МТ

Марк Танащук... in Svelte [svelt]
Как в таком кейсе игнорировать сообщение в консоли о переданном лишнем 3 свойстве первому компоненту и 1/2 для второго?
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
А можно репл? Вообще не знаю зачем тут свойства и даже объект)
источник

МТ

Марк Танащук... in Svelte [svelt]
Pavel 🦇 Malyshev
А можно репл? Вообще не знаю зачем тут свойства и даже объект)
У меня есть 4 ссылки с json.

Они фетчаться и собираются в один объект

Грубо говоря

let firstObj  = fetch('link1.json');
let secondObj = fetch('link2.json');
let thirdObj  = fetch('link3.json');
let fourthObj = fetch('link4.json');

let all = {
 first : firstObj,
 second: secondObj,
 third : thirdObj,
 fourth: fourthObj
}

И после этого деструктуризирую дочерним компонентам в которых 2 разные логики.

<Comp1 {...all}/>
<Comp2 {...all}/>

В первом используется только first, second и fourth
А во втором только third и fourth
источник

МТ

Марк Танащук... in Svelte [svelt]
В итоге у меня стоит вопрос - как убрать сообщения

Component1 was created with unknown prop third
Component2 was created with unknown prop first
Component2 was created with unknown prop second

В дев режиме
источник

КС

Кирилл Спасибович... in Svelte [svelt]
источник

МТ

Марк Танащук... in Svelte [svelt]
Кирилл Спасибович
Хочу без роллапов и изменения исходников
источник

МТ

Марк Танащук... in Svelte [svelt]
Pavel 🦇 Malyshev
вообще самый svelte-way:

let nodes = [];

{#each items as item, i}
 <div bind:this={nodes[i]}>
{/each}
Какая то дичь происходит

Пишет что массив пустой(Array[0] и сверху отображаются пустые скобки квадратные) а если раскрыть то появляются ноды 0о
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Марк Танащук
Какая то дичь происходит

Пишет что массив пустой(Array[0] и сверху отображаются пустые скобки квадратные) а если раскрыть то появляются ноды 0о
А в чем дичь?
источник

МТ

Марк Танащук... in Svelte [svelt]
Pavel 🦇 Malyshev
А в чем дичь?
В том что отображается что массив пустой, а там 20 элементов нод которые я через bind:this получил
источник

AP

Alexander Ponomarev in Svelte [svelt]
Марк Танащук
Какая то дичь происходит

Пишет что массив пустой(Array[0] и сверху отображаются пустые скобки квадратные) а если раскрыть то появляются ноды 0о
в момент когда залогало был пустой, когда ты открыл в него уже положили
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Марк Танащук
У меня есть 4 ссылки с json.

Они фетчаться и собираются в один объект

Грубо говоря

let firstObj  = fetch('link1.json');
let secondObj = fetch('link2.json');
let thirdObj  = fetch('link3.json');
let fourthObj = fetch('link4.json');

let all = {
 first : firstObj,
 second: secondObj,
 third : thirdObj,
 fourth: fourthObj
}

И после этого деструктуризирую дочерним компонентам в которых 2 разные логики.

<Comp1 {...all}/>
<Comp2 {...all}/>

В первом используется только first, second и fourth
А во втором только third и fourth
Почему бы просто не: <Component {first} {second} /> ?
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Зачем компоненту то что ему не нужно? 🤔
источник

PM

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

МТ

Марк Танащук... in Svelte [svelt]
Pavel 🦇 Malyshev
Почему бы просто не: <Component {first} {second} /> ?
Это я грубо говоря - на деле там названия длиннее и получается что нужно засорять атрибуты в итоге:

<Component1 first={all.first} second={all.second} fourth={all.fourth}/>

Всяко читабельнее ж <Component {...all}/>
источник

МТ

Марк Танащук... in Svelte [svelt]
Alexander Ponomarev
в момент когда залогало был пустой, когда ты открыл в него уже положили
Ясненько :(
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Марк Танащук
Это я грубо говоря - на деле там названия длиннее и получается что нужно засорять атрибуты в итоге:

<Component1 first={all.first} second={all.second} fourth={all.fourth}/>

Всяко читабельнее ж <Component {...all}/>
Насчёт читабельнее я бы поспорил))) очевидно этот объект охватывает более широкую область приложения, чем та к которой компонент должен иметь доступ. Мне кажется это не очень хороший подход. Может свелт и не зря обращает твоё внимание на это
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Марк Танащук
Ясненько :(
Это обычное поведение консоли же. Она не реактивная, объекты по ссылкам
источник

МТ

Марк Танащук... in Svelte [svelt]
Pavel 🦇 Malyshev
Насчёт читабельнее я бы поспорил))) очевидно этот объект охватывает более широкую область приложения, чем та к которой компонент должен иметь доступ. Мне кажется это не очень хороший подход. Может свелт и не зря обращает твоё внимание на это
Отфетченные json большие достаточно и чтобы сэкономить пару десятков мегабайт ОЗУ я все json объединяю в один объект и приходится с таким мирится.
источник

AP

Alexander Ponomarev in Svelte [svelt]
Марк Танащук
Отфетченные json большие достаточно и чтобы сэкономить пару десятков мегабайт ОЗУ я все json объединяю в один объект и приходится с таким мирится.
источник