Javascript 反应挂钩-Can';无法从状态获取嵌套数据

Javascript 反应挂钩-Can';无法从状态获取嵌套数据,javascript,axios,react-hooks,Javascript,Axios,React Hooks,我对我的状态“pokeData”仍然有困难。我正在调用pokeapi并设置状态,并且能够获得1级嵌套数据,任何更多的,我都会得到一个错误,并且我的状态变得未定义。下面是控制台的图片和数据结构显示的内容 我的问题在于这行代码:` 您的pokeData是通过异步操作接收的,因此在渲染时,您的数据可能尚未设置 可以在实际渲染之前检查数据的可用性 { (pokeData && pokeData.sprites) && <img src={pokeData.s

我对我的状态“pokeData”仍然有困难。我正在调用pokeapi并设置状态,并且能够获得1级嵌套数据,任何更多的,我都会得到一个错误,并且我的状态变得未定义。下面是控制台的图片和数据结构显示的内容

我的问题在于这行代码:`


您的
pokeData
是通过异步操作接收的,因此在渲染时,您的数据可能尚未设置

可以在实际渲染之前检查数据的可用性

{ (pokeData && pokeData.sprites) &&
   <img src={pokeData.sprites.front_default} alt=""/>
}
{(pokeData&&pokeData.sprites)&&
}
工作示例:

setPokeData将是异步的,pokeData中的数据可用性将需要一些时间。由于pokeData的初始值是空数组
[]
,因此此
{pokeData.sprites.front_default}
将是
{[].sprites.front_default}
,您将得到未定义的错误

如果键值在对象中不可用,可以使用可选的链接运算符(?)安全地忽略

参考:


您也可以这样做:
,这样您就可以编写更少的代码,并且易于理解