Могу ли я использовать window.localStorage в моем приложении React? - PullRequest
0 голосов
/ 05 мая 2018

У меня есть приложение React, которое позволяет пользователям выбирать свои «Избранные» элементы из основного / подробного представления ...

Я хочу, чтобы пользователь мог открывать веб-сайт, выбирать свои «Избранное» без необходимости входить в систему, обновлять страницу и сохранять свои избранные «на веб-сайте». Я пытался использовать PHP-куки из другого источника (читайте здесь: Вы не можете установить Cookies из запроса на выборку ). Я не хочу включать другой пакет npm (в основном потому, что я просто хочу знать, что на самом деле происходит за моими зависимостями), и единственное решение, которое я могу придумать, - это использовать

window.localStorage.setItem('key', 'value');

Я прав? Есть ли какое-то другое соглашение для этого? Что должен делать?

Имейте в виду: Я запускаю это на сервере Node.js , поэтому я не могу просто установить файлы cookie с помощью запроса PHP.

Ответы [ 3 ]

0 голосов
/ 05 мая 2018

Просто так сказано в ответе

React - библиотека для создания компонентов пользовательского интерфейса. Использование локального хранилища не является частью этой цели, поэтому вы можете использовать его, как часть спецификаций в сети (а также sessionStorage. В любом случае, вы можете разделить доступ к localStorage в отдельном файле , который можно импортировать и тестировать - это значит, уровень косвенности

0 голосов
/ 05 мая 2018

вы можете использовать store.js предоставляет простой API для кросс-браузерного локального хранилища

// Store current user
store.set('user', { name:'Marcus' })

// Get current user
store.get('user')

// Remove current user
store.remove('user')

// Clear all keys
store.clearAll()

// Loop over all stored values
store.each(function(value, key) {
    console.log(key, '==', value)
})
  • Установка:

npm установить магазин --save

Пример использования store.js с npm

var store = require('store')
store.set('user', { name:'Marcus' })
store.get('user').name == 'Marcus'
0 голосов
/ 05 мая 2018

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

fetch('/whatever', {
    method: "GET",
    credentials: 'include'
})

Но, да, вы можете использовать window.localStorage или window.sessionStorage для локального сохранения.

...