数据库返回对象,但未在我的状态下正确显示为JSON

时间:2020-05-22 23:23:27

标签: javascript json reactjs react-redux

你好,我是新来的反应者,一般来说都是javascript。我正在修改身份验证功能以从数据库加载用户数据。令牌很好用并可以存储,但是当我查看redux开发工具时,用户数据将按原样显示。

user(pin):"{"name":"John Doe","last_login":null,"is_superuser":false,"email":"johndoe3@gmail.com","is_active":true,"is_staff":false,"user_type":6,"groups":[],"user_permissions":[]}"

如何使标签不显示为字符串,以便可以从状态正确引用标签。

下面是有问题的功能,将不胜感激。

export function receiveToken(payload) {
  return (dispatch) => {
    const user = payload.user;
    const token = payload.token;

    delete user.id;
    localStorage.setItem("token", token);
    localStorage.setItem("user", JSON.stringify(user));
    axios.defaults.headers.common["Authorization"] = `Token ${token}`;
    dispatch(receiveLogin());
  };
}

谢谢!

1 个答案:

答案 0 :(得分:0)

因为我可以使用,所以没有真正的问题

const user = JSON.parse(localStorage.getItem("user") || {});

获取与用户相关的数据。我现在的问题是它返回错误

VM3886:1未捕获的语法错误:JSON中位置1处的意外令牌o 在JSON.parse()

在重新加载应用程序后,一切都被擦除