Javascript React.js-Can';t访问元素';对象数组中的值
我觉得自己像个蹩脚的开发人员,带着这个问题向你走来,但我在兜圈子 我使用的是React/JS,问题是: 代码通过ajax(axios)从我的personnal API导入对象数组 我的状态需要一个数组:Javascript React.js-Can';t访问元素';对象数组中的值,javascript,arrays,reactjs,object,Javascript,Arrays,Reactjs,Object,我觉得自己像个蹩脚的开发人员,带着这个问题向你走来,但我在兜圈子 我使用的是React/JS,问题是: 代码通过ajax(axios)从我的personnal API导入对象数组 我的状态需要一个数组:const[films,setFilms]=useState([])并接收一个 事实上,我的API中的response.result是一个包含20个电影对象的数组: 我只是想把它作为道具传递给另一个组件,在这个组件中,我将使用存储在数组中的一个对象来使用和显示它的值,但到目前为止,我还无法这样做
const[films,setFilms]=useState([])代码>并接收一个
事实上,我的API中的response.result是一个包含20个电影对象的数组:
我只是想把它作为道具传递给另一个组件,在这个组件中,我将使用存储在数组中的一个对象来使用和显示它的值,但到目前为止,我还无法这样做
现在,在React中,当我试着这样称呼一部电影:
console.log(“电影”,电影)代码>=>工作(显示上面的屏幕截图),
console.log(“film”,films[0])代码>=>起作用(显示第一个元素,一个对象)
但如果我尝试输入它(任何属性):
console.log(“film”,films[0].id)
或console.log(“film”,films[0][“id”])代码>
=>失败:类型错误:胶片[0]未定义
我知道我错过了什么。我收到一个对象数组,可以输入一个元素,但是不能读取其属性
我感到失落。。。帮助?:)
谢谢尝试使用&&操作符,如下所示:
console.log("film", films[0] && films[0].id);
可能是你的console.log(“电影”,电影)代码>方法会被调用几次,即使胶片尚未加载。当您尝试记录电影时,它将首先记录null或空数组,但随后将显示正确的列表。另一方面,当您有console.log(“film”,films[0].id)时代码>,您的应用程序将崩溃,因为它是在电影数组为null或为空时调用的
因此,在记录之前,请确保您的胶片数组长度大于0。您使用的是redux还是simple react js?如果您可以在访问对象数组的位置添加代码片段,这将非常有用。您可以尝试console.log(“film_type”,typeof(films[0])并检查响应是否为“object”?当console.log时会显示什么(对象键(胶片[0]))
Hi,simple React.js。我肯定很多开发人员都遇到过这种情况,但我没有找到答案。嗨,是的,我怀疑这可能就是那种问题。谢谢you@GonZo如果这是正确的答案,我会很感激一个复选标记。它确实适用于控制台。日志。我很震惊!哈哈,可以吗你能给我解释一下吗?我想这是一个新的ES6语法/技巧?无论如何,谢谢你使用&&运算符make,比如说当电影[0]可用时(true)从该数组中获取id,你可以在任何函数上使用它尝试一下,然后返回给我我希望我解释正确我会很感激你做的复选标记是的,谢谢。对于复选标记,我是新的,但我可以看到我只能给一个。我已经为上面的答案做了,对不起。我希望我没有帮助过任何问题。祝你有一个愉快的一天