Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我不能使用本地数据_Javascript_Reactjs - Fatal编程技术网

Javascript 我不能使用本地数据

Javascript 我不能使用本地数据,javascript,reactjs,Javascript,Reactjs,我想从对象中获取名称和姓氏,但我不能 function ToDoScreen({ isLogin }: any) { const name: any = localStorage.getItem("inputs"); console.log(name); return ( <div> <p>{name.name}</p> </div> ); } export default ToDo

我想从对象中获取名称和姓氏,但我不能

function ToDoScreen({ isLogin }: any) {
  const name: any = localStorage.getItem("inputs");
  console.log(name);
  return (
    <div>
      <p>{name.name}</p>
    </div>
  );
}

export default ToDoScreen;

本地存储只能存储字符串,因此名称实际上是一个JSON字符串

如果要将其视为对象,则需要通过JSON.parse传递它

请注意,如果您为name指定了一个类型而不是使用:any,则会发现此错误。这就是在TypeScript中使用类型的要点


您可能希望使用,而不是直接访问存储。

您似乎正在获取数据,您只需将其解析为Json即可使用。试试下面这个,看看它是否对你更有效

function ToDoScreen({ isLogin }: any) {
  const data = localStorage.getItem("inputs");
  var dataJson = JSON.parse(data)
  console.log(dataJson.name);
  console.log(dataJson.lastname);
  return (
    <div>
      <p>{dataJson.name}</p>
    </div>
  );
}
检查名称的类型。在您的案例中,它可能是一个字符串而不是Js对象。请阅读。请以文本形式提供所有错误消息,而不是以文本图片形式提供。搜索引擎和有视觉障碍的人无法读取图像。localStorage.getItem将始终返回字符串。