开发者问题收集

如果未定义,如何在 javascript 中呈现对象数组?

2022-08-10
338

我想检查 React JavaScript 中的空数组。但是当我使用问号检查它是否未定义时,React 就会崩溃。

我正在使用类似这样的方法:

const [verlist, setverlist] = useState([]);

useEffect 钩子中,我使用 setverlist(response.versions.version) 。这里 versions 是对象。其中 version 是一个对象数组。

但是当我将版本作为空对象 { 时,我的 React 应用程序崩溃了,因为在控制台中我得到的是未定义的。

我像这样渲染:

{[...verlist].reverse().map((value, id) => {})

我该如何解决这个问题?

3个回答

您可以在代码前面加一个勾。

verlist && verlist.length > 0 && [...verlist].reverse().map((value, id) => {})

如果可行,请告诉我。

Alak
2022-08-10

更改

来自: [...verlist].reverse().map((value, id) => {})

至: verlist.length > 0 && [...verlist].reverse().map((value, id) => {})

Raphael Ben Hamo
2022-08-10

如果 verlist 是一个数组并且可以未定义,请尝试:

verlist && verlist.length && [...verlist].reverse().map((value, id) => {})
Mykyta Halchenko
2022-08-10