使用另一个对象

时间:2016-02-25 03:52:06

标签: reactjs

我必须在render函数中创建一个对象数组。我需要分配 数组中对象的属性,表示渲染函数内的值。

    var ref = [{"a":"x","b":"y"];//This is coming through a prop called ref.
    var someArrayOfObject = [{t1:{ref.a}},{t1:{ref.b}}];

我正在使用webpack和babel。我收到错误"意外的令牌"。错误日志指向'。'在ref和属性之间,例如ref.a。

当我将{ref.a}分配给组件的支柱

时,我没有收到错误消息
   <SomeComponent someProp={ref.a} />

2 个答案:

答案 0 :(得分:1)

为什么要将ref.a放在{}内?您实际上是在尝试创建一个没有键值的对象。这是修复:

var ref = [{"a":"x","b":"y"];
var someArrayOfObject = [{t1:ref.a},{t1:ref.b}];

答案 1 :(得分:0)

我认为这里的混淆来自于嵌入Javascript表达式的JSX语法。如果要在JSX代码中使用文字JS表达式,则需要将其包装在圆括号中(例如{ref.a})。

您也尝试在对象文字中使用此语法。

[{t1:{ref.a}},{t1:{ref.b}}];

我们只在JSX中执行此操作,以表明我们正在使用Javascript值转义标记。在普通代码中没有必要这样做。你可以安全地删除parens。

[{t1:ref.a},{t1:ref.b}];

还值得一提的是ref是一个数组而不是一个对象,你需要先引用数组中的第一个元素。

var someArrayOfObject = [{t1:ref[0].a},{t1:ref[0].b}];
<SomeComponent someProp={ref[0].a} />