От новичка до гуру: Курсы программирования на CyberDuff

Подавить повторный рендеринг повторного кадра

Можно ли подавить повторный рендеринг? Предположим, я отправляю обработчик [:a] и обработчик [:b] в состояние db-0. Такой, что:

db-0 -> [:a] -> db-1 -> [:b] -> db-0

Конечное состояние такое же, но выполняется два повторных рендеринга. Я не хочу повторного рендеринга промежуточного состояния db-1. Повторный рендеринг, при необходимости, должен происходить только после применения обоих [:a] и [:b].


  • Вероятно, вам следует написать событие, которое объединяет a и b в одно. 13.01.2018

Ответы:


1

Фон

Если dispatch вызывает изменение app-db, кадр анимации будет «запланирован» для обработки любого необходимого повторного рендеринга. В результате этот повторный рендеринг произойдет примерно через 16 мс.

Если тем временем произойдет еще один dispatch, то его изменения в app-db также будут обработаны в уже запланированном предстоящем кадре анимации.

К тому времени, когда AF перевернется, изменения для обоих событий dispatched проявятся в app-db.

Ваш сценарий

Итак, как вы можете видеть, отправка [:a] вызовет планирование AF, однако до его запуска ваш dispatch из [:b] еще больше вернет app-db в исходное состояние.

Когда позже запустится AF, будут запущены все подписки уровня 2, все они, потому что app-db было изменено (каким-то образом, пока неизвестным), НО, поскольку предыдущие значения будут = новыми значениями, распространение графа сигнала будет обрезано, и повторно -рендеры в конечном итоге будут запущены.

13.01.2018
  • Чтобы внести ясность, предположим, что [:a] и [:b] являются событиями http-xhrio, которые занимают больше 16 мс. Что теперь? 14.01.2018
  • deadghost: это независимый запрос или зависимый и, следовательно, последовательный? 14.01.2018
  • @deadghost, если они оба являются чисто запросами http-xhrio, не будет никаких изменений в app-db и повторной визуализации. app-db должны измениться, чтобы они (потенциально) были перерендерены. 15.01.2018
  • Новые материалы

    ИИ меняет этику в руководстве
    Связь искусственного интеллекта, лидерства и этики Сострадание, глубокое понимание чужих страданий в сочетании с желанием облегчить их, возвышается как неотъемлемая человеческая добродетель...

    Представляем Narwhal Technologies (Nrwl)
    6 декабря 2016 г. Маунтин-Вью, Калифорния С тех пор, как Виктор Савкин и я (Джефф Кросс) присоединились к команде Angular в Google на заре Angular 1, Angular продемонстрировал феноменальный..

    Путь AWS  — «Изучение машинного обучения — 10 начинающих ИИ и машинного обучения на AWS».
    Универсальный ресурсный центр для изучения искусственного интеллекта и машинного обучения. НОЛЬ или ГЕРОЙ, начните свое путешествие здесь. Получите решения и пройдите обучение у экспертов AWS...

    5 простых концепций Python, ставших сложными
    #заранее извините 1) Переменные x = 4 y = 5 Переменная в Python — это символическое представление объекта. После присвоения некоторого объекта переменной Python мы приобретаем..

    «Освоение вероятности: изучение совместной, предельной, условной вероятности и теоремы Байеса —…
    Виды вероятности: Совместная вероятность Предельная вероятность Условная вероятность Диаграмма Венна в вероятностях: В “Set Theory” мы создаем диаграмму Венна...

    Основы Spring: Bean-компоненты, контейнер и внедрение зависимостей
    Как лего может помочь нашему пониманию Когда мы начинаем использовать Spring, нам бросают много терминов, и может быть трудно понять, что они все означают. Итак, мы разберем основы и будем..

    Отслеживание состояния с течением времени с дифференцированием снимков
    Время от времени что-то происходит и революционизирует часть моего рабочего процесса разработки. Что-то более забавное вместо типичного утомительного и утомительного процесса разработки. В..