• Redux c большим объемом данных в Store?

    @mr_drinkens Автор вопроса
    davidnum95: Хотелось получить более простую схему взаимодествия. Есть еще всякого рода "панели", куда отображаются задачи с определенным статусом (важность), различные задачи-уведомления (тоже статус). Так, если мы имеем их все в одном store - то запроса делать не надо каждый раз, а необходимо только отфильтровать по нужным параметрам.
  • Redux c большим объемом данных в Store?

    @mr_drinkens Автор вопроса
    davidnum95: через API делает запрос, и мутируем стор
  • Redux c большим объемом данных в Store?

    @mr_drinkens Автор вопроса
    Никита Гущин: Думаю, в моем случае это не спасет, так как все равно придется оббегать все объекты и просматривать их.
  • Redux c большим объемом данных в Store?

    @mr_drinkens Автор вопроса
    Никита Гущин: Это что-то вроде lazy-loading?

    По объему, пока не совсем понятно). Попробовал создать 1000 задач, 50 проектов и 2500 списков - начинает подвисать (апдейт не быстро проходит). Если же дело вообще касается drag-and-drop, то он тоже лагает). Предел - до 500 задач (всего).

    Анализировал трелло и ему kanban-подобные приложения. И понял, что во всех идет подгрузка данных в рамках одной сущности.

    За исключением todoist - они тупо ставят ограничение на количество задач для одного проекта (150) и кешируют все это дело).
  • Redux c большим объемом данных в Store?

    @mr_drinkens Автор вопроса
    Благодарю за ответ.
    Еще я думал, что как вариант, в начальном состоянии перекидывать только "видимую" часть (без этого уж никак), то есть все "доски", и "списки с задачами" для данной "доски".
    Тогда объем данных уменьшится и будет равен объему сущностей текущей доски. При клике на другую доску - подргружаем все объекты в рамках этой текущей доски...
  • Как объяснить заказчику суть работы бекенда?

    @mr_drinkens Автор вопроса
    Вопрос в том, как обьяснить, что задачи объёмные, порой, и не решаются часом или даже парой часов)) он же видит только картинку. Если ничего не прыгает и не моргает, значит, ничего не сделал программист за это время)
  • Как настроить webpack+yarn+react?

    @mr_drinkens Автор вопроса
    да, именно так и делал сперва) Итоговый билд более 1.5МБ, что много.
  • Почему не сохраняется токен при редиректе React и react-router?

    @mr_drinkens Автор вопроса
    Сергей Сунцев: пробовал, без изменений). Что интересно, в консоли вижу, что токен записался, а метод cookies.get("token") выдает null. После перезагрузки - все ок.
  • Как унаследовать компонент в React и изменить его?

    @mr_drinkens Автор вопроса
    Благодарю за ответ. Да, получается что-то вроде "обертки" основного (default) компонента.
  • Как закрыть все поповеры и инпуты?

    @mr_drinkens Автор вопроса
    KnightForce: если не трудно)))
  • Как закрыть все поповеры и инпуты?

    @mr_drinkens Автор вопроса
    KnightForce: Благодарю. Не совсем только понял логику)
    Допустим (представим), что у нас 3 столбца и каждый столбец - это компонент реакт. В каждом столбце есть свой инпут и своя кнопка "меню", при нажататии на которую появляется поповер.
    Мы нажимаем на меню в первом столбце - вылезает поповер. Далее, мы нажимаем на меню во втором столбце - первый поповер должен скрыться, а этот (при нажатии) - открыться). Так для всех поповеров)
    На уровне компонента я делаю через setState. Да, это работает, но только в рамках этого компонента.
  • Как закрыть все поповеры и инпуты?

    @mr_drinkens Автор вопроса
    KnightForce: Благодарю) А можешь примерчик набросать, с переменной isShowing для закрытия всех поповеров?
  • Как закрыть все поповеры и инпуты?

    @mr_drinkens Автор вопроса
    И еще такой вопрос (может, не по теме), какой вариант "подгрузки" данных будет предпочтительнее?
    У меня 3 основных сущности: Project-List-Task.
    Вариант1: Загрузить через АПИ все объекты для каждой сущности и сохранить в стор и манипулировать уже на клиенте с ним через filter в редюьсере?
    Вариант2: Идти "последовательно": грузим сперва все Projects, сохраняем в стор, далее, при выборе определенного Project подгружаем Lists и Tasks?
    спасибо
  • Как правильно спроектировать товары с вариантами?

    @mr_drinkens
    mr_drinkens89:
    возникли теперь проблемы с фильтрами)
    Я формирую фильтры слева (бренд, цвет, размер, цена).
    цвет и бренд - хранятся как FK, а размер и цены - это уже обычное текстовое поле.
    Логика такая:
    1. Собриаем все "чекеры", и в урле тогда будет примерно такое:
    color=зеленый,синий,красный&size= 33,35,49&brend=adidas.
    2. Кидаем все это дело во вьюху
    3. Во вьюхе собираем, и делаем запросы к ТоварВариант по типу:
    variants = variants.filter(size__in=sizes)
    4. Ну и на выходе берем из варианта его виртуальный товар и собираем все это дело в один массив:
    vProducts = []
            for product in variants:
                vProducts.append(product.product)


    В итоге, страница сейчас "висит" еще больше, чем это было у меня с JSONField)))
    Быть может, все же, лучшим решением будет - фасетный поиск?
  • Как правильно спроектировать товары с вариантами?

    @mr_drinkens
    sim3x: вообще, мы можем присваивать каждому реальному товару (который с размером) свою партию, но, тогда получится просто дублирование, так как в рамках одного цвета - фотографии одинаковы.
    В каталоге, как я понимаю, нам все равно нужен Товар. Но, этот виртуальный товар должен "знать", сколько у него цветов товара, и сколько размеров в каждом цвете. Ну, а показывать фото можно тупо самого первого в каждом цвете.
    Вот я и думаю, если фотки пихать в цвета? Тогда получается схема:
    - вирт.товар
    - цвет
    - размер
    - фотографии.
    Или на примере:
    -Джинсы KK
    -синие (здесь же фотки синих)
    - 41 размер
    - 42 размер
    -красные (и фото)
    - 43 размер
    -зеленые (и фото)
    - 41 размер
    - 42 размер
  • Как правильно спроектировать товары с вариантами?

    @mr_drinkens
    sim3x: Просто я уже все варианты перелопатил)
    В карточку товара (каталог), при загрузке выводится:
    1. Все цвета для данной группы товаров (объединяются по артикулу) - на картинке это справа кружочки
    2. Фотки первого цвета (допустим, красного)
    3. Размеры первого цвета (допустим, 33,34,35, 36, 37).
    На выходе получаем картинку (вложил).4bb428ff52c141299d1d8f695bef61a7.png
    При клике на цвет - аяксом меняем фотки на фотографии нажатого цвета + меняем размеры на те, который содержит в себе данный цвет.
    Получается (если грубо описать), мы имеем:
    Общий виртуальный товар (содержит все) - далее идут "Цвета" - и уже от "цветов" пошли реальные товары (с размерами).
    То есть параметр "цвет", видимо, надо выносить либо в отдельную модель и присоединять к виртуальному товару, либо как-то группировать на выходе (в шаблоне). то есть мы же можем иметь 3 красных джинс, 5 синих, 2 белых, а в "карточке" каталога мы должны показать только: "красный", "синий", "белый".
    Важно сохранить быстродействие. select_related, prefetch_related использую.
  • Как правильно спроектировать товары с вариантами?

    @mr_drinkens
    sim3x: Немного изменил схему.
    Необходимо в шаблоне группировать варианты по цветам, и выводить размеры для первого цвета.
    (на фото - это цвета справа). А слева - это размеры в рамках одного цвета.
    Сделал как: добавил модель Color:
    Color:
        name = название цвета (желтый, синий, красный)
        image = превьюшка для цвета
        product = FK(Product) - виртуальный товар, то есть общий
        variants = M2m(ProductVariant) - у одного цвета может быть несколько вариантов


    Ну а фотки, и всю прочую инфу - храню уже в конкретном товаре.
    Фото - как m2m для варианта.
    Пока непонятно, насколько эта схема будет производительна (дабы не делать дополнительные запросы, а выдать все разом). (пока, вытаскиваю первоначально всю инфу для виртуального товара через
    prefetch_related("colors").all()
  • Как правильно спроектировать товары с вариантами?

    @mr_drinkens
    sim3x: Большущее спасибо)
    буду реализовывать) отпишусь сюда же по результатам)
    еще раз благодарю)
  • Как правильно спроектировать товары с вариантами?

    @mr_drinkens
    sim3x: я не так понял)
    то есть, имеется ввиду:

    ТоварВариант
     - размер
     - цвет
     - m2m (Фото)


    верно?
    получается, мы будем иметь некий набор постоянных фоток, но, уже присваивать мы их сможем любому количеству товаров? Выходит, все равно, для одного цвета - один и тот же набор фотографий. Наверное, это и не так критично, ну и с такой схемой "механизм привязки фоток" более открыт.
  • Как правильно спроектировать товары с вариантами?

    @mr_drinkens
    sim3x: хм ,хм, таки да)
    но, если делать m2m, то ТоварФото надо еще "цеплять" к виртуальному товару.
    То есть в админке будет вид:
    виртуальный товар и его свойства
    - фотографии (m2m)
    - список товаровВариантов