如何在reactjs中提取本地存储值

时间:2018-12-01 12:43:39

标签: javascript reactjs ecmascript-6

我在reactjs中使用表单。我现在将用户数据存储在localstorage中,我想上传文件,并且要存储具有已存储在localstorage中的userID的文件密钥。使用localstorage.getItem('user')可以显示用户值,但不能在键中使用,当我在控制台中显示用户值时,它会给我未定义的消息。您能帮我怎样用用户名设置密钥。

代码

    handleUpload = e => {
    const reader = new FileReader();
    const storeUser = JSON.parse(localStorage.getItem('user'));
    reader.onload = function(upload) {
      fetch(`http://...../s3/uploadtoaws`, {
        headers: {
          Accept: 'application/json',
          'Content-Type': 'application/json',
        },
        method: 'POST',
        body: JSON.stringify({
          userId: storeUser._id,
          type: 'employee',
          content: upload.target.result,
          key: this.userId,
          oldKey: '',
        }),
      })
        .then(response => response.json())
        .then(res => {
          console.warn(res);
        })
        .done();
    };

    reader.readAsDataURL(e.file.originFileObj);
  };

2 个答案:

答案 0 :(得分:0)

let user = JSON.parse(localStorage.getItem('user'));

const { id: userId } = user;

现在,您可以在共享的上述请求中使用userId

答案 1 :(得分:-1)

如果有激励作用,请使用窗口对象存储数据

就像

//这样存储。 window.user = {“ _id”:1,“ userName”:“ Bhavin00”};

//像这样使用。 console.log(window.user);

或者您可以使用npm软件包,例如:-reactjs-localstorage