js-cookie 库的作用
·
`js-cookie` 用于在浏览器中处理 cookies。
一、设置和获取 cookies
1. 简单的 API
提供了简洁直观的 API,使得设置、获取和删除 cookies 变得非常容易。
设置 cookie
Cookies.set("name", "value", { expires: 7 }); // 设置名为“name”,值为“value”,有效期为 7 天的 cookie
获取 cookie
const value = Cookies.get("name"); // 获取名为“name”的 cookie 的值
删除 cookie
Cookies.remove("name"); // 删除名为“name”的 cookie
2. 支持选项
可以设置一些选项来控制 cookie 的行为,如有效期、路径、域名等。
设置有效期
Cookies.set("name", "value", { expires: 7, path: "/" }); // 设置有效期为 7 天,路径为根路径的 cookie
设置域名
Cookies.set("name", "value", { domain: "example.com" }); // 设置域名为“example.com”的 cookie
二、在前端应用中的作用
1. 用户状态管理
可以使用 cookies 来存储用户的登录状态、偏好设置等信息。当用户再次访问应用时,可以通过读取 cookies 来恢复用户的状态,提供更好的用户体验。
存储登录状态
if (userIsLoggedIn) {
Cookies.set("loggedIn", "true", { expires: 30 }); // 用户登录成功后,设置表示登录状态的 cookie
}
读取登录状态
const loggedIn = Cookies.get("loggedIn");
if (loggedIn === "true") {
// 用户已登录,显示相应的内容
} else {
// 用户未登录,显示登录页面
}
2. 跨页面数据传递
在单页应用(SPA)或多页面应用中,可以使用 cookies 来在不同页面之间传递数据。例如,可以将用户在一个页面上选择的语言设置存储在 cookie 中,然后在其他页面上读取这个设置来显示相应的语言内容。
跨页面传递数据
// 在页面 A 中设置 cookie
Cookies.set("selectedLanguage", "en", { expires: 30 });
// 在页面 B 中读取 cookie
const selectedLanguage = Cookies.get("selectedLanguage");
if (selectedLanguage === "en") {
// 显示英文内容
} else {
// 显示其他语言内容
}
3. 与后端交互
可以将一些信息存储在 cookies 中,然后在与后端服务器的交互中使用这些信息。例如,可以将用户的身份验证令牌存储在 cookie 中,以便在后续的请求中发送给服务器进行身份验证。
存储令牌
const token = "your-auth-token";
Cookies.set("authToken", token, { expires: 30 });
在请求中发送令牌
fetch("https://api.example.com/data", {
headers: {
Authorization: `Bearer ${Cookies.get("authToken")}`,
},
})
.then((response) => response.json())
.then((data) => {
// 处理数据
})
.catch((error) => {
// 处理错误
});
更多推荐
所有评论(0)