Состояние против производительности чтения файлов cookie / localstorage - PullRequest
0 голосов
/ 09 июня 2019

Я занимаюсь разработкой приложения в React + Redux, и у меня есть постоянные сомнения, и я не могу найти документацию по этому поводу.Есть ли снижение производительности, если, скажем, в саге я читаю данные из cookie / localStorage, а не из состояния?Этот процесс чтения будет происходить только один раз при каждой загрузке.

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

Заранее спасибо.

1 Ответ

1 голос
/ 10 июня 2019

Прежде всего - что вы имеете в виду state?В redux - state это просто обычный объект (плюс некоторые методы, но все же).Поэтому, когда вы читаете данные оттуда - вы просто читаете реквизиты из объекта.

В то время как куки, localalstorage - это DOM API, который в первую очередь медленнее, плюс вам нужно не только читать данные, но и анализировать их (причинаоба куки, хранилище работает с сериализованными данными).Так что определенно хранилище / cookie медленнее, чем state.

Вы можете проверить http://jsben.ch/nvo5G

НО! - вы не можете сохранить состояние объекта в памяти между страницамиперезагружается.Так что для этого вы можете использовать хранилище (шаблон с именем persistent state. И, вероятно, нет другого способа реализовать эту функцию (или клиентскую БД) - в случае, если вам нужно восстановить какое-то состояние при перезагрузке - у вас есть только два варианта - сохранитьУкажите состояние на клиенте (куки, хранилище / дБ) или на сервере (и выполните запрос на выборку).

Это оптимизация MICRO, в основном вам не нужно об этом беспокоиться (в случае чтения только при запуске приложения))

...