React Cookie ReactJS: как установить время истечения срока действия для cookie?

#javascript #reactjs #cookies #token #react-jsx

#javascript #файлы cookie #токен #reactjs

Вопрос:

В моем проекте ReactJS в настоящее время я сохраняю cookie-файл типа cookie.save('token', received_token, { path: '/'} ); и извлекаю его из локального хранилища следующим образом: cookie.load('token'); .

Итак, мне было интересно, есть ли способ установить время истечения срока действия при .save() получении токена и по истечении срока действия автоматически удалить его из локального хранилища?

Благодарим вас и принимаем ответ голосованием «За».

Ответ №1:

Вы можете передать maxAge or expires в options в качестве третьего параметра в cookie.save функции

Синтаксис:

 reactCookie.save(name, val, [opt])
  

Пример:

 // maxAge Example
reactCookie.save("token", "token-value", {
   maxAge: 3600 // Will expire after 1hr (value is in number of sec.)
});

// Expires Example
var tomorrow = new Date();
tomorrow.setDate(today.getDate() 1);

reactCookie.save("token", "token-value", {
   expires: tomorrow // Will expire after 24hr from setting (value is in Date object)
});
  

Документация: https://github.com/eXon/react-cookie#reactcookiesetrawcookiecookies

Комментарии:

1. Прежде чем я приму ответ и проголосую за, несколько вопросов, если вы не возражаете. Должен ли я объявлять это как reactCookie.save(name, val, [expires: 5000]) ? Не могли бы вы уточнить, когда использовать одно поверх другого, между maxAge и expires ? Прочитайте документацию, но, похоже, не можете уловить разницы. Кроме того, при этом expires автоматически ли удаляется сам токен из локального хранилища? Спасибо за ответ!

2. @Walter Я добавил пример только в ответ, а также добавил разницу между обоими вариантами

3. Срок действия локального хранилища @Walter не истекает, и пользователь не может определить, когда его удалять.

4. Понял. Спасибо за разъяснение. Итак, что происходит после истечения срока действия токена? Как я могу заставить его удалить себя из локального хранилища, когда это произойдет?

5. в случае локального хранилища вы просто устанавливаете значение этого локального хранилища равным null или undefined для сброса или истечения срока действия. и в случае cookie вы должны получить undefined , если попытаетесь получить доступ к cookie с истекшим сроком действия