为什么写入时存储重置数据 window.location.replace("/home");

why the store reset data when write window.location.replace("/home");

存储文件在使用此代码进行路由时获得默认值: window.location.replace("/家");

我的网站上有登录页面,当用户成功输入数据时,我从 API 获取用户信息,然后我想将用户信息保存到我的商店,我做到了,然后转到主页和打开主页时商店文件获得默认值

//注意:此子代码。

onLoginClickHandler = () => { var self = this;

    query.on("value", function (snapshot) {
      // AXIOS
      axios({
        method: "get",
        url: 'http://localhost:4000/user/get_user',
        params: { uid: user.uid },

      }).then(function (response) {

        self.setState({
          FirstName: response.data.FirstName,
          LastName: response.data.LastName,
          phone: response.data.Phone,
          Birthday: response.data.Birthday,
          Gender: response.data.Gender,
          Country: response.data.Country,
          number: snapshot.val().number,
          src: response.data.src,
        })

        self.props.userDataAction(
          response.data.FirstName,
          response.data.LastName,
          response.data.Phone)
    //-- THIS ( userDataAction ) IS FUNCTION TO RESET STORE VALUE --

       window.location.replace("/home");


    //------------ THIS.TO.MACK.ROUTING FROM LOGIN TO HOME ---------


      }).catch(function (err) {
        NotificationManager.error('Sorry Try Agin');
      })

    }, function (error) {
      NotificationManager.error('Your Email Or Password Incorrect');
    });
  } else {
    NotificationManager.error('Not varify yet!', 'Error', 10000);

}).catch(function (error) {
  NotificationManager.error('Your Email Or Password Incorrect');
});

}

逻辑错误。

您可以使用 localStorage 来保持数据的完整性。

localStorage.setItem("mydata", {"myname": "abc"});

您可以使用 getItem 函数通过 localStorage 获取数据,如下所示:

localStorage.getItem("mydata");

并且可以使用 removeItem 函数从 localStorage 中删除数据,如下所示:

localStorage.removeItem("mydata");

您还可以避免重新加载应用程序,例如使用window.history.pushState() 并且不会重置商店数据。