Javascript petfinder和ReactJS的API未定义问题

Javascript petfinder和ReactJS的API未定义问题,javascript,api,reactjs,Javascript,Api,Reactjs,删除问题以避免回答不要将ARROFPET括在花括号中。试试这个: if (this.props && this.props.petfinder) { const arrOfPets = this.props const allPets = arrOfPets.petfinder } 如果要使用解构语法,则变量需要与对象属性名称匹配 const { petfinder } = this.props 深入挖掘后,api本身似乎存在问题。谢谢你的帮助 这意味着,arrOfPets.

删除问题以避免回答

不要将ARROFPET括在花括号中。试试这个:

if (this.props && this.props.petfinder) {
const arrOfPets = this.props
const allPets = arrOfPets.petfinder
}
如果要使用解构语法,则变量需要与对象属性名称匹配

const { petfinder } = this.props

深入挖掘后,api本身似乎存在问题。谢谢你的帮助

这意味着,
arrOfPets.petfinder
未定义,谢谢。正如您在第一个屏幕截图中看到的,它显然不是未定义的,这是我试图解决的问题。我看不懂屏幕截图:我想我不明白这将如何工作,因为petFinder是api返回/承诺的第一个“节点”?this.props.petFinder不存在我映射到props的状态是arrOfPets而不是petFinder?我还是新来的,所以如果我错了,尽管承认,但它对我不起作用,它会通过一个错误。另外,在你的if声明建议中,当我这样做时,我无法访问arrOfPets或allPets。我没有完全听从你的评论。您的代码示例测试this.props.getPets是否存在,然后假设this.props.arrOfPets存在。我想这就是你遇到麻烦的地方。arrOfPets是我通过运行“this.props.getPets”从我的redux商店获取的状态中传递给道具的值。this.props.arrOfPets正在通过我的中间件运行后返回promise数据。我唯一有问题的时候是当我试图从商店里抓取宠物的时候。之前的一切都运行良好,控制台运行良好,所以我抓住了正确的东西。是宠物把事情搞砸了。不确定是我的代码还是api。请看第一个屏幕截图,它是this.props.arrOfPets.petFinder的console.log。你会看到宠物是一个节点,就像上面提到的其他海报一样,截图很难阅读。你能把相关的文字粘贴到问题里吗?