Управление неиспользуемыми данными в приложениях redux, управляемых данными

#reactjs #redux

#reactjs #redux

Вопрос:

представьте приложение, управляемое данными, например, программное обеспечение для управления отелем, реализованное в react redux, теперь у нас есть несколько страниц, таких как пользователи, регистрации, услуги, счета и т.д.

при открытии каждой страницы данные загружаются из API и хранятся в хранилище redux, поэтому мой вопрос заключается в том, каковы общие шаблоны проектирования для обработки ранее извлеченных данных при переходе на новую страницу, вам, очевидно, не нужны пользователи при переходе к счетам, поскольку invoices API предоставляет минимальную информацию о пользователе, связанную с каждым счетом.

  • Итак, должны ли мы выгружать пользователей из хранилища в ComponentWillUnmount при переходе к счетам?
  • Должны ли мы оставить данные в хранилище?
  • Должны ли мы использовать один массив для хранения наших данных и перезаписывать его каждый раз?

Каковы некоторые рекомендации в соответствии с вашим опытом?

Ответ №1:

Каковы некоторые рекомендации в соответствии с вашим опытом?

Как правило, мы всегда можем следовать этим рекомендациям как правилам. Все встанет на свои места.

Должны ли мы использовать один массив для хранения наших данных и перезаписывать его каждый раз?

Если у вас есть некоторые данные, такие как счета-фактуры, которые не слишком сложны, которые также должны быть перечислены, но не часто обновляются, использование array будет работать нормально. мы также можем использовать селекторы или утилиты для выбора конкретного счета и обновления компонента.

В случае, если у нас есть данные, которые часто обновляются или имеют вложенный список, рекомендуется сделать его плоским (нормализовать). Вот подробное чтение :

Предполагая, что счета-фактуры часто обновляются? мы можем сохранить карту счетов

 { 
    "invoiceId1" : {},
    "invoiceId2" : {}
}
  

Итак, должны ли мы выгружать пользователей из хранилища в componentWillUnmount, когда мы
перейдите к счетам?, Должны ли мы оставить данные в хранилище?

Это зависит от варианта использования. Допустим, если у нас есть один отдельный компонент (маршрут) или страница, придерживайтесь обоих

  • Сложные данные
  • Полностью независимые данные

Затем рекомендуется очистить его, иначе все должно быть хорошо. однако в redux, если мы нормализуем хранилище, это не должно быть проблемой. Пожалуйста, ознакомьтесь с этими часто задаваемыми вопросами, связанными с redux-performance, это внесет ясность в управление памятью в Redux.