Должен ли я получить все данные сразу и сохранить их в состоянии?

В настоящее время я реализую нумерацию страниц для списка пользователей (просто пример). Одним из подходов является выборка пользователей по странице. Это означает, что я передаю что-то API, чтобы он возвращал набор пользователей, соответствующий текущей странице. Другой подход заключается в получении всех пользователей, сохранении их в состоянии и выполнении всех вычислений (количество страниц и т. Д.) В React.

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

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

3 ответа

Решение

Было бы лучше выбирать пользователей по странице, так как это приведет к минимальному количеству данных, передаваемых между сервером и клиентом. Вы можете извлекать данные по мере необходимости. Когда первая страница загружена, вы можете сохранить ее в состояние, а когда вторая страница загружена, вы можете добавить ее в состояние (чтобы вам не приходилось снова извлекать все данные). Не имеет смысла получать все данные заранее, так как это приведет к увеличению времени загрузки (особенно если вы говорили об огромном количестве данных, которые могут привести к сбою браузера). Если у вас есть такой большой объем данных, вы также можете заменить состояние новыми данными.

Я думаю, вы можете попробовать этот способ, извлекать пользователей в соответствии с нумерацией страниц и, как только вы получаете данные, вы можете прикрепить / заменить в существующем массиве

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

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

Другие вопросы по тегам