#reactjs #redux
#reactjs #redux
Вопрос:
представьте приложение, управляемое данными, например, программное обеспечение для управления отелем, реализованное в react redux, теперь у нас есть несколько страниц, таких как пользователи, регистрации, услуги, счета и т.д.
при открытии каждой страницы данные загружаются из API и хранятся в хранилище redux, поэтому мой вопрос заключается в том, каковы общие шаблоны проектирования для обработки ранее извлеченных данных при переходе на новую страницу, вам, очевидно, не нужны пользователи при переходе к счетам, поскольку invoices API предоставляет минимальную информацию о пользователе, связанную с каждым счетом.
- Итак, должны ли мы выгружать пользователей из хранилища в
ComponentWillUnmount
при переходе к счетам? - Должны ли мы оставить данные в хранилище?
- Должны ли мы использовать один массив для хранения наших данных и перезаписывать его каждый раз?
Каковы некоторые рекомендации в соответствии с вашим опытом?
Ответ №1:
Каковы некоторые рекомендации в соответствии с вашим опытом?
Как правило, мы всегда можем следовать этим рекомендациям как правилам. Все встанет на свои места.
Должны ли мы использовать один массив для хранения наших данных и перезаписывать его каждый раз?
Если у вас есть некоторые данные, такие как счета-фактуры, которые не слишком сложны, которые также должны быть перечислены, но не часто обновляются, использование array будет работать нормально. мы также можем использовать селекторы или утилиты для выбора конкретного счета и обновления компонента.
В случае, если у нас есть данные, которые часто обновляются или имеют вложенный список, рекомендуется сделать его плоским (нормализовать). Вот подробное чтение :
Предполагая, что счета-фактуры часто обновляются? мы можем сохранить карту счетов
{
"invoiceId1" : {},
"invoiceId2" : {}
}
Итак, должны ли мы выгружать пользователей из хранилища в componentWillUnmount, когда мы
перейдите к счетам?, Должны ли мы оставить данные в хранилище?
Это зависит от варианта использования. Допустим, если у нас есть один отдельный компонент (маршрут) или страница, придерживайтесь обоих
- Сложные данные
- Полностью независимые данные
Затем рекомендуется очистить его, иначе все должно быть хорошо. однако в redux, если мы нормализуем хранилище, это не должно быть проблемой. Пожалуйста, ознакомьтесь с этими часто задаваемыми вопросами, связанными с redux-performance, это внесет ясность в управление памятью в Redux.