【问题标题】:Call to update local storage returning undefined调用更新本地存储返回未定义
【发布时间】:2020-11-16 02:10:30
【问题描述】:

在我的 React 应用程序中,我在登录应用程序时将一系列社区问题存储在本地存储中。但是当我尝试向列表中添加另一个社区问题并更新本地存储时,结果是未定义的。

这是我的问题上下文配置...:

function IssueProvider({ children }) {
  const issues = JSON.parse(localStorage.getItem('issues'));
  const [issueState, setIssueState] = useState(issues);

  function setIssueInfo({ issues }) {
    localStorage.setItem('issues', JSON.stringify(issues));
    setIssueState(issues)
  {
}

...这里是使用 Provider 的函数:

function handleSubmit(event) {
  const { data } = await <my axios request>

  issueContext.setIssueInfo(data);
  history.push(`profile`);
}

有趣的是,当我登录并获取这些问题时,它们已成功登录到本地存储。但是当我尝试通过添加新的社区问题进行更新时,本地存储中的值返回未定义。提前感谢您的帮助!

【问题讨论】:

  • 这里缺少一个括号。 const issues = JSON.parse(localStorage.getItem('issues'); 你能发布你遇到问题的确切代码或特定行吗
  • 你的解释不足以给出答案

标签: reactjs local-storage react-context


【解决方案1】:

常量问题 = JSON.parse(localStorage.getItem('issues');

上面的行中缺少右括号。这是你面临的问题吗。您能否详细说明您在哪里遇到问题。

常量问题 = JSON.parse(localStorage.getItem('issues'));

【讨论】:

  • 抱歉,打错了。刚刚编辑了它,所以它是正确的,就像你现在看到的那样。我的错误来自 useState 钩子。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-06-10
  • 2017-08-13
  • 2020-02-18
  • 1970-01-01
  • 1970-01-01
  • 2018-03-10
  • 2020-07-19
相关资源
最近更新 更多