Реагировать на падение собственного JS-фрейма при отправке излишнего действия - PullRequest
0 голосов
/ 30 ноября 2018

Я занимаюсь разработкой приложения с использованием React Native + Redux и Redux Thunk.В одном из действий большие данные JSON извлекаются с нашего сервера и затем отправляются в хранилище.Когда происходит диспетчеризация, частота кадров потока JS падает с 60 кадр / с до 0 или 1 кадр / с, поэтому все сенсорные кнопки и кнопки перестают реагировать, и невозможно перемещаться по приложению в течение нескольких секунд, пока диспетчер не завершится и все снова не станет нормальным.

Мы уже убедились, что только компоненты, для которых нужны эти данные редуктора, перерисовываются, но проблема сохраняется.

Данные, которые мы загружаем, представляют собой json, похожий на Map, который можетмогут иметь сотни или тысячи значений.

Можно ли как-то заставить React Native и Redux обрабатывать данные такого типа без пропуска кадров

1 Ответ

0 голосов
/ 04 декабря 2018

"[...], нет ничего по сути медленного или неэффективного в том, как реализован Redux. Фактически, React Redux, в частности, сильно оптимизирован, чтобы сократить ненужные повторные рендеры [...]"

Не должно быть проблемой для response-redux .Попробуйте оптимизировать общую структуру компонентов:

  1. Реализация shouldComponentUpdate () - Метод или PureComponents , чтобы уйти от бессмысленных повторных отрисовок .Можно также подумать о разработке нормализованного состояния притока .
  2. Разделение компонентов на несколько отдельных частей перед подключением к магазину.
  3. Избегайте перегрузок и оптимизируйте отложенную загрузку.Вы не сможете отобразить все эти данные сразу.

Этот репозиторий содержит все статьи, посвященные теме «Производительность и Redux».Стоит посетить;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...