我正在尝试获取对象的各种属性,以便在页面上以特定的方式呈现。
我在代码中编写了对象变量,如下所示
{ ingredients[0].name }
但我得到了一个错误,即属性是未定义的,所以我将其更改为下面的格式,因为我看到对象必须被括在React中的括号中,否则它将被视为一个字符串,而我认为这是导致我的错误的原因。
({ ingredients[0].name })
但现在,变量的内容正在括号内打印到页面上。如果给出了第一个对象,那么下面这个对象中的任何变量似乎都不需要括号,所以它没有问题。
//only thing that appears to need parentheses, but will render with it
({ingredients[1].category})
//will render as intended without parentheses, but appears to be
dependent on the above's parenthesis
<br/> ({ingredients[0].portion}
<br/> {ingredients[0].unit}
<br/> {ingredients[0].name}
下面是我的代码的一个更大的片段,用于说明它是什么样子的
import { ingredients } from "../file"
const Component = (props) => {
return (
<div>
({ ingredients[0].category })
<br/>
{ ingredients[0].portion } <br/>
{ ingredients[0].unit } <br/>
{ ingredients[0].name }
</div>
)
};
对象变量是从另一个页面导入的。我将包括页面上的内容,虽然我不认为这是问题的来源。
export const ingredients = [
{
id: 1,
name: 'rice wine vinegar (or sub apple cider vinegar)',
category: 'pickled vegetables',
portion: 2/3,
unit: 'cup',
},
{
id: 2,
name: 'hot water',
category: 'pickled vegetables',
portion: 1/3,
unit: 'cup',
},
...
以上就是文件的全部内容。
编辑:我想我只是没有保存带有变量的文件,所以编辑器将它理解为我没有任何可导出的东西。
发布于 2018-10-12 08:05:29
当我创建带有变量的文件时,我没有保存它。我认为之所以保存它,是因为我使用的VS代码编辑器似乎可以导入它。
但是因为我没有保存它,我相信它没有什么可抓取的,因此它是没有定义的。在添加括号之前,我必须使用变量保存了文件。
请让我知道这个结论是否有错误,或者如果我的代码中有其他的东西我应该留心,所以我从这个学习经验中得到了最大的收获。
再次感谢T.J.克劳德帮我解决这个问题!
https://stackoverflow.com/questions/52781500
复制