текстом? Пробовал сделать работу в стиле Redux/Elm, где каждое нажатие на клавиатуре, проксируется выше по дереву во вьюмодель, она принимает его и меняет стейт (стейт во вьюмоделе один на экран), новый стейт вызывает recompose по факту всего дерева. И в итоге производительность экрана оставляет желать лучшего при вводе текста. Как будто кейс с инпутом текста не очень ложится на Elm.
может не нужно все дерево рекомпозировать, а только отдельную веточку? Ну то есть, сделать так, чтобы именно веточка перерисовывалась а не все дерево
Вообще это странно, там по идеи "positional memoization" должна быть в composable-функциях, которая это предотвращает
Ну ты же стейт прокидывашь весь от вьюмодели и даже если читаешь одно поле в отдельной функции, он их все вызывает
что кто “все” вызывает? Там диффинг и как объяснили выше positional memoization работать должен.
Диффинг на мейн треде?
сейчас да, но в будущем можно будет вынесить в отдельный поток, насколько я знаю. Так говорили гугловцы
Выделил сэмпл, максимально упрощен, просто обновляется инпут через state, все равно почему-то производительность такая как на скрине в репе. Подскажите кто шарит, что может быть не так
Обсуждают сегодня