Size: a a a

Svelte [svelt] - All about Svelte JavaScript framework.

2021 November 29

VZ

Vladimir Zuzin in Svelte [svelt] - All about Svelte JavaScript framework.
Всем привет. Просветите по одному вопросу. Есть такой пример - в родительском компоненте получаю json c перечнем характеристик товаров, дальше в цикле предаю объект с информацией по товару как props в компонент отображения карточки этого товара. Затем этот же  объект передается в дочерний компонент карточки тоже как props, а затем еще раз в дочерний компонент. Так вот проблема в следующем - на последнем уровне вложенности определяю функцию, которая реактивно считает некоторые показатели на основе полученных props из родителя, то есть $: value =>{какой-то расчет}. Здесь я заметил, что получаемые значения не соответствуют ожидаемым, потом понял что значения props не соответсвуют нужному товару, а взяты из другого. При этом, если без реактивной функции просто вывести значения props - то все ок. Вот я не пойму, что не правильно делаю. Буду благодарен за совет.
источник

a

akaSybe in Svelte [svelt] - All about Svelte JavaScript framework.
попробуй создать репл с минимальным кодом, необходимым для воспроизведения проблемы
источник

VZ

Vladimir Zuzin in Svelte [svelt] - All about Svelte JavaScript framework.
Я, конечно, попробую. но это вообще по феншую так поступать с пропсами? То есть, в принципе, реактивная функция на глубоком уровне вложенности должна работать? Или может у меня подход неправильный?
источник

a

akaSybe in Svelte [svelt] - All about Svelte JavaScript framework.
судя по описанию – нормальный подход, но понять в чем именно ошибка не видя кода вряд ли получится
источник

a

akaSybe in Svelte [svelt] - All about Svelte JavaScript framework.
ну если с реплом сложно, то надо обвешать все уровни логированием и пошагово найти место, где данные приходят не те, которые ожидаются
источник

VZ

Vladimir Zuzin in Svelte [svelt] - All about Svelte JavaScript framework.
Я так то придумал пример с товарами - на самом деле там у меня там уже много написано на  много компонентов. и вроде завершил почти проект, но столкнулся с такой проблемой. Но принцип тот же, что и описал. Понятно, что там сайд эффектов может быть полно моих. Но хотел узнать правильный ли подход использую изначально. Попробую накидать минимальный пример для проверки, потом буду разбираться что и почему.
источник

VZ

Vladimir Zuzin in Svelte [svelt] - All about Svelte JavaScript framework.
Svelte же не требует в цикле каждому элементу присваивать уникальный id, как в react'e, например?
источник

A

Arushwl in Svelte [svelt] - All about Svelte JavaScript framework.
источник

VZ

Vladimir Zuzin in Svelte [svelt] - All about Svelte JavaScript framework.
Надо попробовать добавить. Спасибо
источник

MZ

Misha Zamkevich in Svelte [svelt] - All about Svelte JavaScript framework.
Скорее всего у тебя где-то просто ошибка в коде и ты или не обновляешь реактивные данные или получаешь старые значения. У меня такое частенько бывает. Совет выше с поэтапным поиском очень хорош, я бы начал искать с цикла
источник

A

Andrey in Svelte [svelt] - All about Svelte JavaScript framework.
Ещё под отладчиком пройтись можно .)
источник

VZ

Vladimir Zuzin in Svelte [svelt] - All about Svelte JavaScript framework.
Я полдня уже ищу, поэтому и написал. Ну ок, буду терзать дальше
источник

MZ

Misha Zamkevich in Svelte [svelt] - All about Svelte JavaScript framework.
Выведи из цикла данные в консоль через вспомогательную функцию, посмотри что там у тебя выводится и при каких условиях)
источник

VZ

Vladimir Zuzin in Svelte [svelt] - All about Svelte JavaScript framework.
Выводится в цикле норм, то есть те данные, которые и должны При прогоне этого через реактивную функцию - данные берутся из другого объекта. То есть до смешного - вывожу в темплейт параметр1 и параметр2 - все верно, ниже результат функции которая делает объединение этих же параметров (строки) - и вижу, что они из другого объекта
источник

A

Arushwl in Svelte [svelt] - All about Svelte JavaScript framework.
Вангую - в репл заработает
источник

a

akaSybe in Svelte [svelt] - All about Svelte JavaScript framework.
сделай скрин функции если не под NDA
источник

MZ

Misha Zamkevich in Svelte [svelt] - All about Svelte JavaScript framework.
Ищи логическую ошибку (да или сюда кинь)
источник

MZ

Misha Zamkevich in Svelte [svelt] - All about Svelte JavaScript framework.
Или сходи поспи — 100% поможет ))
источник

MZ

Misha Zamkevich in Svelte [svelt] - All about Svelte JavaScript framework.
В гос структуре, свелт 👏
источник

VZ

Vladimir Zuzin in Svelte [svelt] - All about Svelte JavaScript framework.
Сам в шоке
источник