关于state,localStorage,vuex存储登录状态区别(个人学习贴)

这篇个人学习记录探讨了在vue框架中使用路由传参、state和localStorage存储登录状态的区别。路由传参不安全,state在刷新后需重新登录,而localStorage能持久保存但更新界面时可能需要手动刷新。解决方案是在App.vue的created生命周期钩子中获取并更新本地存储的数据。
摘要由CSDN通过智能技术生成

本帖子是个人学习记录贴,近期学习后端复习到这个部分,发现对之前掌握并不熟练,尝试写下此文记录方便日后查看

全文以登录界面为例(vue框架)

三种方法写在如下代码块中,最终选择localStorage的存储方式,区别如下


doLogin() {

      // 使用axios发送异步请求

      // post(url, data), url请求的地址,data提交的数据

      if (this.username == "") {     //判断用户是否输入用户名

        this.errorClass = true;

        this.$message.error('请输入用户名');

      } else if (this.password == "") {         //判断用户是否输入密码

          this.$message.error('请输入密码');

      } else {

        let url =

          "http://localhost:3000/login";       //本机后端代码

        this.axios.post(url, {                 //post方法将输入数据传入后端

            uname: this.username,

            pass: this.password,

          })

          .then((res) => {

            let result = res.data;      //后端返回数据

            let {username,avatar}= result;  //es6中解构赋值获得resul
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`$store.state` 是 Vuex存储数据的地方,可以看作是一个全局的状态管理器,它可以存储应用程序的所有状态,而且所有组件都可以访问和修改它。 `sessionStorage` 和 `localStorage` 是浏览器提供的 Web 存储机制,用于在浏览器中存储数据。它们的区别在于数据的生命周期不同,`sessionStorage` 存储的数据在浏览器会话期间有效,当用户关闭浏览器窗口后,数据就会失效;而 `localStorage` 存储的数据则会一直存在,即使用户关闭浏览器窗口,数据也不会丢失,除非用户手动清除。 因此,`$store.state` 和 `sessionStorage`&`localStorage` 的区别在于: 1. `$store.state` 存储的数据是全局的,可以在整个应用程序中访问和修改,而 `sessionStorage`&`localStorage` 存储的数据只能在当前浏览器窗口中访问和修改。 2. `$store.state` 存储的数据是在内存中存储的,应用程序重新加载后数据会丢失,而 `sessionStorage` 存储的数据在浏览器会话期间有效,`localStorage` 存储的数据则会一直存在。 3. `$store.state` 存储的数据可以在应用程序中进行响应式处理,而 `sessionStorage`&`localStorage` 存储的数据不支持响应式处理。 因此,在实际开发中,我们需要根据具体的需求选择合适的存储方式。如果需要在整个应用程序中共享数据,并且数据需要支持响应式处理,那么就应该选择 `$store.state`;如果需要在浏览器窗口中存储数据,并且数据需要在浏览器会话期间有效,那么就应该选择 `sessionStorage`;如果需要在浏览器中长期存储数据,那么就应该选择 `localStorage`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值