小编jrw*_*bie的帖子

尝试显示存储在本地存储中的数组的值时,对象可能为空错误(打字稿)

我目前正在创建一个天气应用程序,您可以在其中存储您最喜欢的位置,这些位置被推送到数组中,而数组又存储在本地存储中。

现在,我想在不同的组件中显示数组的值,但在我的代码中,我不断地发现对象可能为空的错误。

export const FavoritesList: React.FC<any> = () => {
  // const storageFavorites = localStorage.getItem('favorites');
  const lsOutput = document.getElementById('lsOutput');
  for (let i = 0; i < localStorage.length; i++) {
    const key: any = localStorage.key(i);
    const value: any = localStorage.getItem(key);
    // console.log(value);
    value.forEach(
      (item: any) => (lsOutput.innerHTML += `<li>${item}</li><br/>`)
    );
  }
  return (
    <div>
      <ul id="lsOutput"></ul>
    </div>
  );
};
Run Code Online (Sandbox Code Playgroud)

它特别指向 lsOutput.innerHTML

我究竟做错了什么?我目前已将所有内容分配为任意,只是为了首先尝试使其工作。预先非常感谢您!

javascript typescript reactjs eslint-config-airbnb react-tsx

2
推荐指数
1
解决办法
3810
查看次数

将数组中的第一个索引转换为 int

我有一个名为 parentRows 的字符串列表,其中包含如下所示的字符串:

"176,c-4454"
"177,c-34324"
Run Code Online (Sandbox Code Playgroud)

我曾经.split(',')把它们放在一个string[]

var arr = parentRow.Split(',');
Run Code Online (Sandbox Code Playgroud)

因为基本上我想要的是,当我遍历列表时,如果用户输入匹配arr[1],那么我想转换arr[0]为 anint并将其存储在用户信息中。

代码片段:

"176,c-4454"
"177,c-34324"
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我已经尝试过了, int asInt = arr[0].Select(s => int.Parse(s)); 但我只是得到了错误

"Error CS1503 Argument 1: cannot convert from 'char' to 'System.ReadOnlySpan<char>"

一个人将如何去实现我想要的?

先感谢您!

c#

0
推荐指数
1
解决办法
64
查看次数