Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript React.js-Can';t访问元素';对象数组中的值_Javascript_Arrays_Reactjs_Object - Fatal编程技术网

Javascript React.js-Can';t访问元素';对象数组中的值

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个电影对象的数组: 我只是想把它作为道具传递给另一个组件,在这个组件中,我将使用存储在数组中的一个对象来使用和显示它的值,但到目前为止,我还无法这样做

我觉得自己像个蹩脚的开发人员,带着这个问题向你走来,但我在兜圈子

我使用的是React/JS,问题是:

代码通过ajax(axios)从我的personnal API导入对象数组 我的状态需要一个数组:
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,你可以在任何函数上使用它尝试一下,然后返回给我我希望我解释正确我会很感激你做的复选标记是的,谢谢。对于复选标记,我是新的,但我可以看到我只能给一个。我已经为上面的答案做了,对不起。我希望我没有帮助过任何问题。祝你有一个愉快的一天