Является ли Redux альтернативой Sessions, Cookies или постоянной базой данных?
Я хочу знать, есть ли у redux собственная база данных или нужны MongoDB, MySQL или другие базы данных?
Является ли это альтернативой сеансам, cookie-файлам, internalStorage, LocalStorage и IndexedDB?
Является ли избыточность лучшим способом передачи состояний / данных между реагирующими компонентами?
Благодарю.
2 ответа
Redux предназначен для состояния клиента, по умолчанию он только в оперативной памяти, хотя ничто не мешает сохранить его в localStorage, sessionStorage или indexedDB. Это не отображение 1:1 на данные вашей базы данных, или, по крайней мере, большинство людей не использует их. Ваши представления должны отправлять действия, а затем обновлять состояние хранилища, чтобы другие представления могли реагировать на эти изменения данных.
Люди используют его в сочетании с бэкэндом, например, ваше действие может быть функцией, которая выбирает или помещает данные через API в базу данных, и вы можете сохранить результаты в своем хранилище, отправляя действия в случае успеха или неудачи.
Redux - это хранилище в памяти, которое отслеживает данные из разных мест вашего приложения и помогает вам направлять эти данные туда, куда они должны идти. Он не включает в себя традиционную постоянную базу данных. Фактически, использование базы данных для сохранения состояния Redux было бы довольно необычным, поскольку тип данных, обычно хранящихся в Redux, обычно связан с конкретным пользователем и конкретным сеансом. То есть такие вещи, как "Пользователь нажал кнопку А." Большинству приложений нужно помнить об этом, пока пользователь вошел в систему и все еще находится на данной странице.
Тем не менее, нет особой причины, по которой вы не можете сохранить состояние Redux в базе данных, если хотите, чтобы состояние вашего приложения поддерживалось постоянно. Я думаю, что большинство дизайнеров UX скажут, что это не нужно, хотя и может привести к путанице в зависимости от сложности приложения, количества просмотров приложения и продолжительности его работы с момента последнего входа пользователя.